Reusable GitHub actions workflows.
.github/workflows/container-on-fly.yaml
Usage:
build-and-deploy:
name: Build & Deploy
needs:
- lint
uses: significa/actions/.github/workflows/container-on-fly.yaml@main
with:
staging_app_name: your-app-staging
production_app_name: your-app-staging-production
staging_branch: main
secrets:
FLY_API_TOKEN_STAGING: ${{ secrets.FLY_API_TOKEN_STAGING }}
FLY_API_TOKEN_PRODUCTION: ${{ secrets.FLY_API_TOKEN_PRODUCTION }}Inputs:
staging_app_nameproduction_app_namestaging_branch
Secrets:
FLY_API_TOKEN_STAGINGFLY_API_TOKEN_PRODUCTION
.github/workflows/docker-image.yaml
Usage:
build_and_push:
name: Build and push image
permissions:
contents: read
id-token: write
packages: write
uses: significa/actions/.github/workflows/docker-image.yaml@main
with:
image_name: your-image-nameInputs:
image_nameplatforms_architectures
.github/workflows/elixir-library.yaml
This reusable action tests an Elixir library with mix test, using all the supported Elixir and OTP
versions.
Usage:
test-and-publish:
name: Test and publish
uses: significa/actions/.github/workflows/elixir-library.yaml@main
secrets:
HEX_API_KEY: ${{ secrets.HEX_API_KEY }}Inputs:
publish-to-hex:trueto publish package to Hex package manager. Defaults totrue.replace-mix-version:trueto replace the version placeholder (0.0.1-development) inmix.exsbefore publishing. Defaults totrue.
Secrets:
HEX_API_KEY: Hex package manager api key. More details in Publishing a package. Required ifpublish-to-hexistrue.
.github/workflows/npm-library.yaml
This action builds tests and publishes an NPM library. Both to private and public NPM registries (configurable).
Usage:
test-and-publish:
name: Test and publish
uses: significa/actions/.github/workflows/npm-library.yaml@main
permissions:
contents: read
packages: writeInputs:
node_versionsinstall_commandlint_commandbuild_commandtest_commandnpm_scopeinstall_registry_urlpublish_to_github_registrypublish_to_npm_registry
Secrets:
NPM_TOKEN
If publishing to NPM publish_to_npm_registry, make sure that:
publicis either not set OR set to false.publishConfig.accessis set topublic.{ "publishConfig": { "access": "public" } }publishConfigdoes not define a registry override for your scope.
.github/workflows/python-package.yaml
Usage:
test-and-publish:
name: Test and publish
uses: significa/actions/.github/workflows/python-package.yaml@main
secrets:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}Secrets:
TWINE_USERNAMETWINE_PASSWORD
.github/workflows/vercel-app.yaml
This reusable action builds, tests and deploys an application to Vercel.
Requires a vercel.json and .nvmrc in the source repository.
Usage:
ci-cd:
name: CI/CD
permissions:
contents: read
packages: read
deployments: write
uses: significa/actions/.github/workflows/vercel-app.yaml@main
with:
npm_scope: "@significa"
secrets:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}Inputs:
install_commandlint_commandtest_commandnpm_scopeinstall_registry_urlref_name_to_vercel_environment
Secrets:
VERCEL_TOKENVERCEL_ORG_IDVERCEL_PROJECT_ID