Enable Corepack in createRelease action #116
This file contains hidden or 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: Tests | |
| on: | |
| pull_request: | |
| types: [opened, reopened, synchronize, ready_for_review] | |
| jobs: | |
| integration-tests: | |
| runs-on: ubuntu-latest | |
| env: | |
| CLIENT_ID: ${{secrets.CLIENT_ID}} | |
| CLIENT_SECRET: ${{secrets.CLIENT_SECRET}} | |
| SCOPE: ${{secrets.SCOPE}} | |
| AUTH_URL: ${{secrets.AUTH_URL}} | |
| API_URL: ${{secrets.API_URL}} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Get yarn cache directory path | |
| id: yarn-cache-dir-path | |
| run: | | |
| corepack enable | |
| echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
| - uses: actions/cache@v4 | |
| id: yarn-cache | |
| with: | |
| path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
| key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: ${{ runner.os }}-yarn- | |
| - name: Use Node.js 20.x | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20.x | |
| - name: Install dependencies | |
| uses: nick-fields/retry@v2 | |
| with: | |
| retry_on: error | |
| timeout_minutes: 5 | |
| max_attempts: 2 | |
| command: yarn | |
| - name: Cache Homebrew | |
| id: cache-homebrew | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| /home/linuxbrew/.linuxbrew | |
| ~/.cache/Homebrew | |
| key: ${{ runner.os }}-homebrew-fragment-cli | |
| restore-keys: | | |
| ${{ runner.os }}-homebrew- | |
| - name: Install Fragment CLI | |
| run: | | |
| if [ ! -d "/home/linuxbrew/.linuxbrew" ]; then | |
| /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
| fi | |
| echo "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" >> $GITHUB_ENV | |
| eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
| /home/linuxbrew/.linuxbrew/bin/brew tap fragment-dev/tap || true | |
| if ! /home/linuxbrew/.linuxbrew/bin/brew list fragment-dev/tap/fragment-cli &>/dev/null; then | |
| /home/linuxbrew/.linuxbrew/bin/brew install fragment-dev/tap/fragment-cli | |
| fi | |
| - name: Typecheck | |
| run: yarn typecheck | |
| - name: Run ALL tests | |
| run: yarn test:ci | |
| - name: Verify generated methods are up-to-date | |
| run: | | |
| yarn build | |
| git diff --exit-code | |
| exit $? | |
| - name: Verify test schema generated files are up-to-date | |
| run: | | |
| /home/linuxbrew/.linuxbrew/bin/fragment gen-graphql --path tests/fixtures/test-schema.json --output tests/fixtures/test-schema-queries.graphql | |
| yarn fragment-node-client-codegen -i tests/fixtures/test-schema-queries.graphql -o tests/fixtures/generated-test-client.ts | |
| git diff --exit-code tests/fixtures/test-schema-queries.graphql tests/fixtures/generated-test-client.ts | |
| exit $? |