name: Generate TV Guide 📺 on: push: branches: - master schedule: - cron: '0 0 * * *' workflow_dispatch: jobs: generate: runs-on: ubuntu-latest timeout-minutes: 240 container: node:18.18.0-alpine3.18 permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.gh-pages.outputs.page_url }} steps: - name: checkout uses: actions/checkout@v4 - name: install run: | apk add --no-cache bash curl tar npm ci - name: generate run: npx epg-grabber --config=sites/tv.blue.ch/tv.blue.ch.config.js --channels=sites/tv.blue.ch/tv.blue.ch.channels.xml --output=dist/guide.xml --days=7 - name: upload artifact uses: actions/upload-pages-artifact@v2 with: name: 'github-pages' path: 'dist/' - name: publish to pages id: gh-pages uses: actions/deploy-pages@v2 with: artifact_name: 'github-pages'