name: "deploy" on: [push] jobs: Linting: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18' - name: Install dependencies run: npm ci - name: Install Biome run: npm install --global --save-exact @biomejs/biome - name: Lint with Biome run: npx biome ci . - name: Lint styles run: npm run lint:styles - name: Check types run: npm run typecheck Playwright: name: Run end-to-end tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18' - name: Install dependencies run: npm ci - name: Install playwright browsers run: npx playwright install --with-deps - name: Run Playwright Test run: npx playwright test Github: needs: test_with_playwright runs-on: ubuntu-latest steps: - name: Push changes uses: ad-m/github-push-action@master Mailgun: runs-on: ubuntu-latest name: Update templates on Mailgun if: github.event_name == 'push' && github.ref == 'refs/heads/feature/email-templates' continue-on-error: true steps: - name: Checkout uses: actions/checkout@v2 - name: "Email confirmation template" uses: gyto/mailgun-template-action@v2 with: html-file: "./templates/authorizer_email_confirmation.html" mailgun-api-key: ${{ secrets.MAILGUN_API_KEY }} mailgun-domain: "discours.io" mailgun-template: "authorizer_email_confirmation" - name: "Password reset template" uses: gyto/mailgun-template-action@v2 with: html-file: "./templates/authorizer_password_reset.html" mailgun-api-key: ${{ secrets.MAILGUN_API_KEY }} mailgun-domain: "discours.io" mailgun-template: "authorizer_password_reset" - name: "First publication notification" uses: gyto/mailgun-template-action@v2 with: html-file: "./templates/first_publication_notification.html" mailgun-api-key: ${{ secrets.MAILGUN_API_KEY }} mailgun-domain: "discours.io" mailgun-template: "first_publication_notification" - name: "New comment notification template" uses: gyto/mailgun-template-action@v2 with: html-file: "./templates/new_comment_notification.html" mailgun-api-key: ${{ secrets.MAILGUN_API_KEY }} mailgun-domain: "discours.io" mailgun-template: "new_comment_notification"