name: Take nightly screenshots on: schedule: - cron: '0 4 * * *' env: BROWSERSTACK_KEY: ${{ secrets.BROWSERSTACK_KEY }} BROWSERSTACK_PASSWORD: ${{ secrets.BROWSERSTACK_PASSWORD }} BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} TEST_URL: http://localhost:8080 jobs: Screenshots: runs-on: ubuntu-latest steps: - name: Check out pull request code uses: actions/checkout@v4 if: github.event_name == 'pull_request' with: repository: ${{ github.event.pull_request.head.repo.full_name }} - name: Check out repository code uses: actions/checkout@v4 if: github.event_name == 'push' - uses: actions/setup-go@v5 with: go-version: '1.22' cache: true - name: Cache node modules uses: actions/cache@v4 env: cache-name: cache-node-modules-screenshots with: path: ~/.npm key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('test/automated/screenshots/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Automate screenshots uses: nick-fields/retry@v3 with: timeout_minutes: 10 max_attempts: 4 command: cd test/automated/screenshots && ./run.sh - name: Commit changes uses: EndBug/add-and-commit@v9 with: author_name: Owncast author_email: owncast@owncast.online message: 'Commit screenshots' add: '*.png' pull: '--rebase --autostash' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Dispatch event to web site uses: peter-evans/repository-dispatch@v3 with: token: ${{ secrets.BUNDLE_STORYBOOK_OWNCAST_ONLINE }} repository: owncast/owncast.github.io event-type: bundle-components-library