improvement: use no_depend_modules
for better compile dependencies
#1582
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Elixir Library | |
on: | |
push: | |
jobs: | |
deps: | |
name: mix deps.get | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-deps-get@main | |
auditor: | |
name: mix hex.audit | |
runs-on: ubuntu-latest | |
needs: deps | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-hex-audit@main | |
build-test: | |
name: MIX_ENV=test mix.compile | |
runs-on: ubuntu-latest | |
needs: deps | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/install-elixir@main | |
- uses: team-alembic/staple-actions/actions/mix-compile@main | |
with: | |
mix-env: test | |
formatter: | |
name: mix format --check-formatted | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-format@main | |
with: | |
mix-env: test | |
spark-formatter: | |
name: mix spark.formatter --check | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-task@main | |
with: | |
mix-env: test | |
task: spark.formatter --check | |
credo: | |
name: mix credo --strict | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-credo@main | |
with: | |
mix-env: test | |
doctor: | |
name: mix doctor --full --raise | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-doctor@main | |
with: | |
mix-env: test | |
test: | |
name: mix test | |
runs-on: ubuntu-latest | |
needs: build-test | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_HOST_AUTH_METHOD: trust | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-test@main | |
with: | |
mix-env: test | |
env: | |
PGUSER: postgres | |
PGPASS: postgres | |
PGHOST: postgres | |
dialyzer: | |
name: mix dialyzer | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-dialyzer@main | |
with: | |
mix-env: test | |
conventional-commit: | |
name: mix git_ops.check_message | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/conventional-commit@main | |
with: | |
mix-env: test | |
sobelow: | |
name: mix sobelow --config | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-sobelow@main | |
with: | |
mix-env: test | |
unused-deps: | |
name: mix deps.unlock --check-unused | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-deps-unlock@main | |
with: | |
mix-env: test | |
spark-cheat-sheets: | |
name: mix spark.cheat_sheets --check | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-task@main | |
with: | |
mix-env: test | |
task: spark.cheat_sheets --check | |
generate-migrations: | |
name: mix ash_postgres.generate_migrations --check | |
runs-on: ubuntu-latest | |
needs: build-test | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-task@main | |
with: | |
mix-env: test | |
task: ash_postgres.generate_migrations --check | |
build-dev: | |
name: MIX_ENV=dev mix.compile | |
runs-on: ubuntu-latest | |
needs: | |
- credo | |
- doctor | |
- formatter | |
- spark-formatter | |
- auditor | |
- test | |
- dialyzer | |
- sobelow | |
- unused-deps | |
- spark-cheat-sheets | |
- generate-migrations | |
- conventional-commit | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-compile@main | |
with: | |
mix-env: dev | |
build-docs: | |
name: mix docs | |
runs-on: ubuntu-latest | |
needs: build-dev | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: team-alembic/staple-actions/actions/mix-docs@main | |
with: | |
mix-env: dev | |
- uses: actions/upload-pages-artifact@v1 | |
with: | |
path: doc/ | |
deploy-docs: | |
name: Deploy docs to GitHub pages. | |
runs-on: ubuntu-latest | |
needs: build-docs | |
permissions: | |
pages: write | |
id-token: write | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
steps: | |
- name: Deploy to GitHub pages | |
id: deployment | |
uses: actions/deploy-pages@v1 | |
# git-ops: | |
# name: mix git-ops.release | |
# runs-on: ubuntu-latest | |
# needs: build-dev | |
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
# steps: | |
# - uses: actions/checkout@v3 | |
# with: | |
# fetch-depth: 0 | |
# - uses: team-alembic/staple-actions/actions/git-ops@main | |
# with: | |
# mix-env: dev | |
# no-major: true | |
# release-token: ${{ secrets.JIMSY_ACCESS_TOKEN }} |