refactor with review #148
Workflow file for this run
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: CI | |
on: | |
push: | |
jobs: | |
backend-check: | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: build | |
run: docker compose build check | |
- name: check | |
run: docker compose run --rm check | |
- name: test | |
run: docker compose run --rm check pytest --cov=maelstro tests/ | |
frontend-check: | |
runs-on: ubuntu-22.04 | |
name: Front Build and Tests | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 22 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 22 | |
- name: Install dependencies | |
working-directory: ./frontend | |
run: npm install # --frozen-lockfile | |
- name: Lint | |
working-directory: ./frontend | |
run: npm run lint | |
- name: Unit tests | |
working-directory: ./frontend | |
run: npm run test:unit --coverage.enabled true | |
# - name: Report Frontend Coverage | |
# # Set if: always() to also generate the report if tests are failing | |
# # Only works if you set `reportOnFailure: true` in your vite config as specified above | |
# if: always() | |
# uses: davelosert/vitest-coverage-report-action@v2 | |
# with: | |
# working-directory: ./frontend | |
- name: Build | |
working-directory: ./frontend | |
run: npm run build | |
build: | |
runs-on: ubuntu-22.04 | |
name: Build Docker images | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: docker compose build maelstro-back maelstro-front | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
- name: "Pushing latest to docker.io" | |
if: github.ref == 'refs/heads/main' && github.repository == 'georchestra/maelstro' && github.actor != 'dependabot[bot]' && github.event_name != 'pull_request' | |
run: | | |
docker tag maelstro-maelstro-back:latest georchestra/maelstro-backend:latest | |
docker tag maelstro-maelstro-front:latest georchestra/maelstro-frontend:latest | |
docker push georchestra/maelstro-backend:latest | |
docker push georchestra/maelstro-frontend:latest | |
- name: "Update Docker Hub Back Description" | |
if: github.ref == 'refs/heads/main' && github.repository == 'georchestra/maelstro' && github.actor != 'dependabot[bot]' && github.event_name != 'pull_request' | |
uses: peter-evans/dockerhub-description@v3 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
repository: georchestra/maelstro-backend | |
readme-filepath: ./DOCKER_HUB.md | |
short-description: 'Maelstro backend module for the geOrchestra SDI' | |
- name: "Update Docker Hub Front Description" | |
if: github.ref == 'refs/heads/main' && github.repository == 'georchestra/maelstro' && github.actor != 'dependabot[bot]' && github.event_name != 'pull_request' | |
uses: peter-evans/dockerhub-description@v3 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
password: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
repository: georchestra/maelstro-frontend | |
readme-filepath: ./DOCKER_HUB.md | |
short-description: 'Maelstro frontend module for the geOrchestra SDI' |