|
61 | 61 | with: |
62 | 62 | path: spec/dummy/vendor/bundle |
63 | 63 | key: dummy-app-gem-cache-${{ hashFiles('spec/dummy/Gemfile.lock') }}-oldest |
64 | | - - name: Install Ruby Gems for dummy app |
65 | | - run: | |
66 | | - cd spec/dummy |
67 | | - bundle lock --add-platform 'x86_64-linux' |
68 | | - if ! bundle check --path=vendor/bundle; then |
69 | | - bundle _2.5.9_ install --path=vendor/bundle --jobs=4 --retry=3 |
70 | | - fi |
71 | | - - name: generate file system-based packs |
72 | | - run: cd spec/dummy && RAILS_ENV="test" bundle exec rake react_on_rails:generate_packs |
73 | | - - name: Detect dead code |
74 | | - run: | |
75 | | - yarn run knip |
76 | | - yarn run knip --production |
77 | | - - name: Lint JS |
78 | | - run: yarn run eslint --report-unused-disable-directives |
79 | | - - name: Check formatting |
80 | | - run: yarn start format.listDifferent |
81 | | - - name: Type-check TypeScript |
82 | | - run: yarn run type-check |
83 | | - - name: Pack for attw and publint |
84 | | - run: yarn pack -f react-on-rails.tgz |
85 | | - - name: Lint package types |
86 | | - # our package is ESM-only |
87 | | - run: yarn run attw react-on-rails.tgz --profile esm-only |
88 | | - - name: Lint package publishing |
89 | | - run: yarn run publint --strict react-on-rails.tgz |
90 | | - # We only download and run Actionlint if there is any difference in GitHub Action workflows |
91 | | - # https://github.com/rhysd/actionlint/blob/main/docs/usage.md#on-github-actions |
92 | | - - name: Check GitHub Action changes |
93 | | - id: check-workflows |
94 | | - run: | |
95 | | - git fetch origin ${{ github.event.pull_request.base.sha }} |
96 | | - if git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep -q '^.github/workflows'; then |
97 | | - echo "changed=true" >> "$GITHUB_OUTPUT" |
98 | | - response=$(curl -sf https://api.github.com/repos/rhysd/actionlint/releases/latest) |
99 | | - if [ $? -eq 0 ]; then |
100 | | - actionlint_version=$(echo "$response" | jq -r .tag_name) |
101 | | - if [ -z "$actionlint_version" ]; then |
102 | | - echo "Failed to parse Actionlint version" |
103 | | - exit 1 |
104 | | - fi |
105 | | - echo "actionlint_version=\"$actionlint_version\"" >> "$GITHUB_OUTPUT" |
106 | | - fi |
107 | | - fi |
108 | | - - name: Setup Actionlint |
109 | | - if: steps.check-workflows.outputs.changed == 'true' |
110 | | - uses: actions/cache@v4 |
111 | | - id: cache-actionlint |
112 | | - with: |
113 | | - path: ./actionlint |
114 | | - key: ${{ runner.os }}-actionlint-${{ steps.check-workflows.outputs.actionlint_version }} |
115 | | - - name: Download Actionlint |
116 | | - if: steps.check-workflows.outputs.changed == 'true' && steps.cache-actionlint.outputs.cache-hit != 'true' |
117 | | - run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) |
118 | | - - name: Lint GitHub Actions |
119 | | - if: steps.check-workflows.outputs.changed == 'true' |
120 | | - run: | |
121 | | - echo "::add-matcher::.github/actionlint-matcher.json" |
122 | | - SHELLCHECK_OPTS="-S warning" ./actionlint -color |
123 | | - shell: bash |
| 64 | + - run: ls spec/dummy/vendor/bundle/gems |
0 commit comments