Skip to content

Ok 507 valinnan hallinta #222

Ok 507 valinnan hallinta

Ok 507 valinnan hallinta #222

Workflow file for this run

name: Valintojen toteuttaminen workflow
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
env:
HUSKY: 0
jobs:
lint:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci
- name: Run lint
run: |
npm run typecheck
npm run lint
test:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm test
e2e:
timeout-minutes: 60
runs-on: ubuntu-latest
strategy:
matrix:
browser: [chromium, firefox, webkit]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci --no-audit --prefer-offline
- name: Install Playwright Browsers
run: npx playwright install --with-deps ${{ matrix.browser }}
- name: install mkcert
run: |
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
chmod +x mkcert-v*-linux-amd64
sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
- name: Create dev certificates
run: npm run create-dev-certs
- name: Build app
run: npm run build-test
- name: Start the app
run: npm run start-test &
- name: Run Playwright tests
run: npx playwright test --project=${{ matrix.browser }}
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 10
if-no-files-found: ignore
deploy-zip:
needs: [lint, test, e2e]
timeout-minutes: 30
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci --no-audit --prefer-offline
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4
with:
role-to-assume: ${{ secrets.AWS_OPH_UTILITY_ROLE_ARN }}
role-session-name: valintojen-toteuttaminen-deploy-zip
aws-region: eu-west-1
- name: Deploy zip to s3
env:
bucket: ${{ secrets.BUCKET_NAME }}
run: |
npm run build
zip -r ga-${{github.run_number}}.zip .next/*.* .next/BUILD_ID .next/static .next/standalone public
aws s3 cp --no-progress ga-${{github.run_number}}.zip s3://"$bucket"/ga-${{github.run_number}}.zip