Bump phpoffice/phpspreadsheet from 2.2.1 to 2.3.2 #907
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: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
unit-tests: | |
name: "Unit tests" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: docker compose up -d qualix db node mail | |
- uses: ./.github/actions/wait-for-container-startup | |
- run: docker compose exec -T qualix php artisan config:clear --env=testing | |
- run: docker compose exec -T qualix vendor/bin/phpunit | |
frontend-tests: | |
name: "Frontend tests" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: docker compose up -d qualix db node mail | |
- uses: ./.github/actions/wait-for-container-startup | |
- run: docker compose exec -T node npm run test | |
e2e-tests: | |
name: "End-to-end tests" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: docker compose up -d qualix db node mail e2e-mocks | |
- uses: ./.github/actions/wait-for-container-startup | |
- run: docker compose run e2e run | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: cypress-output | |
path: | | |
./cypress/screenshots | |
./cypress/videos | |
ci-passed-event: | |
name: "Send out CI success event" | |
if: ${{ github.event_name == 'push' }} | |
needs: | |
- unit-tests | |
- frontend-tests | |
- e2e-tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: peter-evans/repository-dispatch@v3 | |
env: | |
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }} | |
if: env.REPO_ACCESS_TOKEN != null | |
with: | |
token: ${{ secrets.REPO_ACCESS_TOKEN }} | |
event-type: ci-passed | |
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}' | |
get-environment-name: | |
name: "Extract environment name" | |
runs-on: ubuntu-latest | |
outputs: | |
environment: ${{ steps.extract.outputs.environment }} | |
steps: | |
- id: extract | |
run: echo "environment=$(echo $GITHUB_REF | sed -e '/^refs\/heads\/deploy-\(.*\)$/!d;s//\1/')" >> $GITHUB_OUTPUT | |
- env: | |
EXTRACTED: ${{ steps.extract.outputs.environment }} | |
run: 'echo "Extracted environment name: $EXTRACTED"' | |
deploy: | |
name: "Deploy" | |
if: ${{ github.event_name == 'push' && needs.get-environment-name.outputs.environment }} | |
needs: | |
- unit-tests | |
- frontend-tests | |
- e2e-tests | |
- get-environment-name | |
environment: ${{ needs.get-environment-name.outputs.environment }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: sudo apt-get update -y && sudo apt-get install -y lftp | |
- uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.SSH_PRIVATE_KEY }} | |
known_hosts: ${{ secrets.SSH_KNOWN_HOSTS }} | |
- run: sudo apt-get update -y && sudo apt-get install -y lftp | |
- uses: ./.github/actions/deploy | |
with: | |
ssh-username: ${{ secrets.SSH_USERNAME }} | |
ssh-host: ${{ secrets.SSH_HOST }} | |
ssh-directory: ${{ secrets.SSH_DIRECTORY }} | |
app-name: ${{ secrets.APP_NAME }} | |
app-key: ${{ secrets.APP_KEY }} | |
app-url: ${{ secrets.APP_URL }} | |
app-contact-link: ${{ secrets.APP_CONTACT_LINK }} | |
app-contact-text: ${{ secrets.APP_CONTACT_TEXT }} | |
db-host: ${{ secrets.DB_HOST }} | |
db-database: ${{ secrets.DB_DATABASE }} | |
db-username: ${{ secrets.DB_USERNAME }} | |
db-password: ${{ secrets.DB_PASSWORD }} | |
mail-mailer: ${{ secrets.MAIL_MAILER }} | |
mail-host: ${{ secrets.MAIL_HOST }} | |
mail-port: ${{ secrets.MAIL_PORT }} | |
mail-username: ${{ secrets.MAIL_USERNAME }} | |
mail-password: ${{ secrets.MAIL_PASSWORD }} | |
mail-from-address: ${{ secrets.MAIL_FROM_ADDRESS }} | |
hitobito-base-url: ${{ secrets.HITOBITO_BASE_URL }} | |
hitobito-client-uid: ${{ secrets.HITOBITO_CLIENT_UID }} | |
hitobito-client-secret: ${{ secrets.HITOBITO_CLIENT_SECRET }} | |
collaboration-enabled: ${{ secrets.COLLABORATION_ENABLED }} | |
collaboration-signaling-servers: ${{ secrets.COLLABORATION_SIGNALING_SERVERS }} | |
sentry-laravel-dsn: ${{ secrets.SENTRY_LARAVEL_DSN }} | |
sentry-csp-report-uri: ${{ secrets.SENTRY_CSP_REPORT_URI }} | |
sentry-vue-dsn: ${{ secrets.SENTRY_VUE_DSN }} | |
- uses: getsentry/action-release@v1 | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_RELEASE_TRACKING_AUTH_TOKEN }} | |
SENTRY_ORG: ${{ secrets.SENTRY_ORG }} | |
if: env.SENTRY_AUTH_TOKEN != null | |
with: | |
environment: ${{ needs.get-environment-name.outputs.environment }} | |
projects: ${{ secrets.SENTRY_PROJECTS }} | |
ignore_missing: true | |
ignore_empty: true |