Bump cacache from 18.0.1 to 18.0.4 #2704
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Gatsby Publish | |
on: | |
push: | |
branches: | |
[ main ] | |
pull_request: | |
types: [ opened, synchronize, reopened ] | |
schedule: ## Do a run three times daily, to refresh website content | |
- cron: '25 22,04,12 * * *' | |
workflow_dispatch: | |
defaults: | |
run: | |
shell: bash | |
concurrency: | |
group: uses-github-api # do not allow any concurrency or the different builds will fight for the github rate limit and all take far longer | |
jobs: | |
unit-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
cache: "npm" # this only caches global dependencies | |
- run: npm ci --prefer-offline | |
- run: npm run test | |
env: | |
CI: true | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get current date | |
id: date | |
run: | | |
echo "month=$(date +'%Y-%m')" >> "$GITHUB_OUTPUT" | |
echo "day=$(date +'%d')" >> "$GITHUB_OUTPUT" | |
- name: Restoring cached GitHub API results | |
uses: actions/cache@v4 | |
with: | |
path: | | |
.cache-github-api | |
key: gatsby-build-github-queries-${{ steps.date.outputs.month }}-${{ steps.date.outputs.day }}-${{ github.run_id }}-${{ github.run_attempt }} | |
restore-keys: | # If there are multiple partial matches for a restore key, the action returns the most recently created cache. | |
gatsby-build-github-queries-${{ steps.date.outputs.month }}-${{ steps.date.outputs.day }} | |
gatsby-build-github-queries- | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
cache: "npm" # this only caches global dependencies | |
- run: npm ci --prefer-offline | |
- run: npm run build -- ${{ github.ref_name == 'main' && '--prefix-paths' || '' }} | |
env: | |
NODE_ENV: production | |
GATSBY_ACTIVE_ENV: production | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
TABLEAU_PERSONAL_ACCESS_TOKEN: ${{ secrets.TABLEAU_PERSONAL_ACCESS_TOKEN }} | |
TABLEAU_SITE: ${{ secrets.TABLEAU_SITE }} | |
SEGMENT_KEY: ${{ secrets.SEGMENT_KEY }} | |
- name: Caching GitHub API results | |
uses: actions/cache/save@v4 # save the cache even if the integration tests fail | |
with: | |
path: | | |
.cache-github-api | |
key: gatsby-build-github-queries-${{ steps.date.outputs.month }}-${{ steps.date.outputs.day }}-${{ github.run_id }}-${{ github.run_attempt }} | |
# run eslint on all files if eslintrc changes | |
- name: Run eslint on changed files | |
uses: sibiraj-s/action-eslint@v3 | |
with: | |
all-files: ${{ steps.filter.outputs.eslintrc == 'true' }} | |
- run: npm run test:int | |
env: | |
CI: true | |
PATH_PREFIX: "${{ github.ref_name == 'main' && 'extensions' || '' }}" | |
PATH_PREFIX_FLAG: "${{ github.ref_name == 'main' && '--prefix-paths' || '' }}" | |
- name: Store PR id | |
if: "github.event_name == 'pull_request'" | |
run: echo ${{ github.event.number }} > ./public/pr-id.txt | |
- name: Publishing directory for site deployment | |
uses: actions/upload-artifact@v4 | |
with: | |
name: site | |
path: ./public | |
retention-days: 3 | |
deploy: | |
# Only try and deploy on merged code | |
if: "github.repository == 'quarkusio/extensions' && github.ref_name == 'main' && (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')" | |
needs: [ unit-test, build ] | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 # not needed for the code, but needed for the git config | |
- name: Download Built site | |
uses: actions/download-artifact@v4 | |
with: | |
name: site | |
path: site | |
- name: Deploy | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
folder: site # The folder the action should deploy. | |
branch: pages | |
raise-defects: | |
# Only try and raise defects on the main builds | |
if: "github.repository == 'quarkusio/extensions' && github.ref_name == 'main' && (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')" | |
# This doesn't actually need to run after the deploy, but we want it to wait as long as possible after the main build to give the github rate limit time to recover | |
needs: [ deploy ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 # not needed for the code, but needed for the git config | |
- name: Download Built site | |
uses: actions/download-artifact@v4 | |
with: | |
name: site | |
path: site | |
- name: Raise defects if needed | |
uses: jbangdev/[email protected] | |
if: "github.repository == 'quarkusio/extensions' && github.ref_name == 'main' && (github.event_name == 'push' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')" | |
with: | |
script: site-validation/bad-image-issue.java | |
scriptargs: token=${{ secrets.GITHUB_TOKEN }} issueRepo=${{ github.repository }} runId=${{ github.run_id }} siteUrl=https://quarkus.io/extensions |