Upgrade to mypy 1.11 (#372) #1462
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: Continuous Integration | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
code_tests: | |
name: Code tests | |
runs-on: ubuntu-22.04 | |
env: | |
NIX_BUILD_SHELL: bash | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/setup | |
- name: Run tests | |
run: nix-shell --command "scripts/test.sh" | |
# - name: Setup tmate session | |
# if: ${{ failure() }} | |
# uses: mxschmitt/action-tmate@v3 | |
integration_tests: | |
name: Integration tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-14, ubuntu-22.04] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/setup | |
- name: Setup git | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "Example" | |
- name: Create test project | |
run: | | |
scripts/script-create-django-app.sh --name integration | |
- name: Run tests | |
run: | | |
cd integration | |
nix-shell --command "python manage.py generate_client_assets" | |
nix-shell --command "python manage.py build" | |
nix-shell --command "scripts/test.sh --all" | |
nix-shell --command "scripts/remove_example.sh" | |
nix-shell --command "python manage.py generate_client_assets" | |
nix-shell --command "python manage.py build" | |
nix-shell --command "scripts/test.sh --all" | |
website_tests: | |
name: Website tests | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/setup | |
- name: Run tests | |
run: | | |
sed -i '/export {};/d' packages/reactivated/dist/eslintrc.cjs | |
cd website | |
nix-shell --command "python manage.py generate_client_assets" | |
nix-shell --command "scripts/test.sh --all" | |
- name: Run build | |
if: github.repository_owner == github.actor | |
env: | |
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} | |
run: | | |
cd website | |
scripts/deploy.sh --build-only | |
docker_tests: | |
name: Docker tests | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/setup | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v1 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
# Note that we do not log in for tests, as forks cannot access credentials | |
- name: "Prepare docker context" | |
run: scripts/build-create-django-app-docker.sh | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: website_build_context | |
platforms: linux/amd64,linux/arm64 | |
file: website_build_context/Dockerfile | |
push: false | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
tags: silviogutierrez/reactivated:ci |