djbrown/hbscorez

View on GitHub
.github/workflows/nightly-build.yml

Summary

Maintainability
Test Coverage
name: Nightly Build

on:
  schedule:
    - cron: 45 6 * * *

  workflow_dispatch:

jobs:
  main:
    runs-on: ubuntu-latest
    steps:
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.10"
      - name: Install Pipenv
        run: python -m pip install --upgrade pipenv
      - name: Checkout Repository
        uses: actions/checkout@v4
      - name: Install dependencies
        run: pipenv install --deploy --dev
      - name: Set up locale
        run: |
          sudo locale-gen de_DE.UTF-8
          sudo dpkg-reconfigure locales

      - name: Start saucelabs tunnel
        uses: saucelabs/sauce-connect-action@v2 # see https://github.com/saucelabs/sauce-connect-action/issues/86
        with:
          username: ${{ secrets.SAUCE_USERNAME }}
          accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
          tunnelIdentifier: nightly-build-${{ github.run_number }}
      - name: Run browser tests
        run: pipenv run hbbrowsertest
        env:
          TEST_OUTPUT_FILE_NAME: browser.xml
          SAUCE_BUILD_NAME: nightly-build-${{ github.run_number }}
          SAUCE_TUNNEL_IDENTIFIER: nightly-build-${{ github.run_number }}
          SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
          SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
      - name: Browser Test Report
        uses: dorny/test-reporter@v1
        if: success() || failure()
        with:
          name: Browser Tests
          path: browser.xml
          reporter: java-junit

      - name: Run integration tests
        run: pipenv run hbintegrationtest
        env:
          TEST_OUTPUT_FILE_NAME: integration.xml
      - name: Integration Test Report
        uses: dorny/test-reporter@v1
        if: success() || failure()
        with:
          name: Integration Tests
          path: integration.xml
          reporter: java-junit