-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rename
run_cypress_tests
to test
& use buildx
buildx is used for faster builds we also set up ghcr to use docker layer caching for hopefully even faster build times
- Loading branch information
Showing
7 changed files
with
145 additions
and
6 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
{ | ||
"target": { | ||
"redis": { | ||
"cache-from": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/redis:cache" | ||
], | ||
"cache-to": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/redis:cache" | ||
], | ||
"output": [ | ||
"type=docker" | ||
] | ||
}, | ||
"solr": { | ||
"cache-from": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/solr:cache" | ||
], | ||
"cache-to": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/solr:cache" | ||
], | ||
"output": [ | ||
"type=docker" | ||
] | ||
}, | ||
"db": { | ||
"cache-from": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/db:cache" | ||
], | ||
"cache-to": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/db:cache" | ||
], | ||
"output": [ | ||
"type=docker" | ||
] | ||
}, | ||
"mailcatcher": { | ||
"cache-from": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/mailcatcher:cache" | ||
], | ||
"cache-to": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/mailcatcher:cache" | ||
], | ||
"output": [ | ||
"type=docker" | ||
] | ||
}, | ||
"mampf": { | ||
"cache-from": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/mampf:cache" | ||
], | ||
"cache-to": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/mampf:cache" | ||
], | ||
"output": [ | ||
"type=docker" | ||
] | ||
}, | ||
"cypress_runner": { | ||
"cache-from": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/cypress_runner:cache" | ||
], | ||
"cache-to": [ | ||
"type=registry,ref=ghcr.io/MaMpf-HD/cypress_runner:cache" | ||
], | ||
"output": [ | ||
"type=docker" | ||
] | ||
} | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
name: Tests | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- dev | ||
- experimental | ||
pull_request: | ||
types: [opened, reopened, synchronize, ready_for_review] | ||
|
||
jobs: | ||
unit-test-job: | ||
name: Unit tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Setup Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Login to GitHub Container Registry | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Build docker images | ||
run: docker buildx bake --file docker/test/docker-compose.yml --file .github/workflows/docker-compose-cache.json | ||
|
||
# For docker layer caching also see this article [1] | ||
# - name: Build docker images | ||
# uses: docker/build-push-action@v5 | ||
# with: | ||
# push: false # only build | ||
# context: . | ||
# cache-from: type=gha | ||
# cache-to: type=gha,mode=max | ||
|
||
- name: Create and migrate DB | ||
run: docker compose run --entrypoint "" mampf sh -c "rake db:create db:migrate db:test:prepare" | ||
working-directory: docker/test | ||
|
||
- name: Reindex sunspot | ||
working-directory: docker/test | ||
run: | | ||
docker compose run --entrypoint="" mampf sh -c "RAILS_ENV=test rake sunspot:reindex" | ||
- name: Run unit tests | ||
working-directory: docker/test | ||
run: docker compose run --entrypoint="" mampf sh -c "RAILS_ENV=test rails spec" | ||
|
||
- name: Send test coverage report to Codecov | ||
uses: codecov/codecov-action@v3 | ||
with: | ||
files: ./coverage/coverage.xml | ||
fail_ci_if_error: true | ||
verbose: true | ||
|
||
# [1] https://depot.dev/blog/docker-layer-caching-in-github-actions#docker-layer-caching-in-github-actions | ||
# https://stackoverflow.com/questions/61491484/how-to-cache-docker-compose-build-inside-github-action | ||
# https://docs.docker.com/build/ci/github-actions/cache/ | ||
# https://github.com/docker/build-push-action/issues/493#issuecomment-961559685 | ||
# https://github.com/orgs/community/discussions/25728 | ||
# https://www.deploysentinel.com/blog/docker-buildx-cache-with-github-actions |
File renamed without changes.
File renamed without changes.
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
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
File renamed without changes.