From 86f5de723ad9967d39b8e155a71bfdb340af9ef2 Mon Sep 17 00:00:00 2001 From: Dylan Decrulle <81740200+ddecrulle@users.noreply.github.com> Date: Fri, 26 Sep 2025 16:49:07 +0200 Subject: [PATCH] ci: upgrade actions --- .github/workflows/ci.yaml | 153 +++++++++++++++++++------------------- 1 file changed, 76 insertions(+), 77 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index febc54033..dbbe7c6d7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -8,52 +8,51 @@ on: - main jobs: - test_format: runs-on: ubuntu-latest if: ${{ !github.event.created && github.repository != 'garronej/ts-ci' }} steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - - uses: bahmutov/npm-install@v1 - - name: If this step fails run 'yarn format' then commit again. - run: yarn format:check + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 + - uses: bahmutov/npm-install@v1 + - name: If this step fails run 'yarn format' then commit again. + run: yarn format:check test: runs-on: ${{ matrix.os }} needs: test_format strategy: matrix: #node: [ '16', '17' ] - node: [ '20' ] + node: ["22"] #os: [ windows-latest, ubuntu-latest ] - os: [ ubuntu-latest ] + os: [ubuntu-latest] name: Test with Node v${{ matrix.node }} on ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node }} - - uses: bahmutov/npm-install@v1 - - run: yarn build - - run: yarn test + - uses: actions/checkout@v5 + with: + fetch-depth: 0 + - uses: actions/setup-node@v5 + with: + node-version: ${{ matrix.node }} + - uses: bahmutov/npm-install@v1 + - run: yarn build + - run: yarn test deploy_storybook: runs-on: ubuntu-latest if: github.event_name == 'push' needs: test steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '18' - - uses: bahmutov/npm-install@v1 - - run: yarn build-storybook -o ./build_storybook - - run: git remote set-url origin https://git:${GITHUB_TOKEN}@github.com/${{github.repository}}.git - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - run: npx -y -p gh-pages@3.1.0 gh-pages -d ./build_storybook -u "github-actions-bot " + - uses: actions/checkout@v5 + - uses: actions/setup-node@v5 + with: + node-version: "18" + - uses: bahmutov/npm-install@v1 + - run: yarn build-storybook -o ./build_storybook + - run: git remote set-url origin https://git:${GITHUB_TOKEN}@github.com/${{github.repository}}.git + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: npx -y -p gh-pages@3.1.0 gh-pages -d ./build_storybook -u "github-actions-bot " check_if_version_upgraded: name: Check if version upgrade @@ -64,7 +63,7 @@ jobs: # it's cleaner to stop the execution instead of letting the CI crash. if: | github.event_name == 'push' || - github.event.pull_request.head.repo.owner.login == github.event.pull_request.base.repo.owner.login + github.event.pull_request.head.repo.owner.login == github.event.pull_request.base.repo.owner.login runs-on: ubuntu-latest needs: test outputs: @@ -73,10 +72,10 @@ jobs: is_upgraded_version: ${{ steps.step1.outputs.is_upgraded_version }} is_pre_release: ${{steps.step1.outputs.is_pre_release }} steps: - - uses: garronej/ts-ci@v2.1.0 - id: step1 - with: - action_name: is_package_json_version_upgraded + - uses: garronej/ts-ci@v2.1.5 + id: step1 + with: + action_name: is_package_json_version_upgraded create_github_release: runs-on: ubuntu-latest @@ -88,56 +87,56 @@ jobs: github.event_name == 'push' || needs.check_if_version_upgraded.outputs.is_pre_release == 'true' ) - needs: + needs: - check_if_version_upgraded steps: - - uses: softprops/action-gh-release@v1 - with: - name: Release v${{ needs.check_if_version_upgraded.outputs.to_version }} - tag_name: v${{ needs.check_if_version_upgraded.outputs.to_version }} - target_commitish: ${{ github.head_ref || github.ref }} - generate_release_notes: true - draft: false - prerelease: ${{ needs.check_if_version_upgraded.outputs.is_pre_release == 'true' }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: softprops/action-gh-release@v2 + with: + name: Release v${{ needs.check_if_version_upgraded.outputs.to_version }} + tag_name: v${{ needs.check_if_version_upgraded.outputs.to_version }} + target_commitish: ${{ github.head_ref || github.ref }} + generate_release_notes: true + draft: false + prerelease: ${{ needs.check_if_version_upgraded.outputs.is_pre_release == 'true' }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} publish_on_npm: runs-on: ubuntu-latest - needs: + needs: - create_github_release - check_if_version_upgraded steps: - - uses: actions/checkout@v3 - with: - ref: ${{ github.ref }} - - uses: actions/setup-node@v3 - with: - registry-url: https://registry.npmjs.org/ - - uses: bahmutov/npm-install@v1 - - run: yarn build --prePublish - - run: npx -y -p denoify@1.5.1 enable_short_npm_import_path - env: - DRY_RUN: "0" - - uses: garronej/ts-ci@v2.1.0 - with: - action_name: remove_dark_mode_specific_images_from_readme - - name: Publishing on NPM - run: | - if [ "$(npm show . version)" = "$VERSION" ]; then - echo "This version is already published" - exit 0 - fi - if [ "$NODE_AUTH_TOKEN" = "" ]; then - echo "Can't publish on NPM, You must first create a secret called NPM_TOKEN that contains your NPM auth token. https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets" - false - fi - EXTRA_ARGS="" - if [ "$IS_PRE_RELEASE" = "true" ]; then - EXTRA_ARGS="--tag next" - fi - npm publish $EXTRA_ARGS - env: - NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - VERSION: ${{ needs.check_if_version_upgraded.outputs.to_version }} - IS_PRE_RELEASE: ${{ needs.check_if_version_upgraded.outputs.is_pre_release }} + - uses: actions/checkout@v3 + with: + ref: ${{ github.ref }} + - uses: actions/setup-node@v5 + with: + registry-url: https://registry.npmjs.org/ + - uses: bahmutov/npm-install@v1 + - run: yarn build --prePublish + - run: npx -y -p denoify@1.5.1 enable_short_npm_import_path + env: + DRY_RUN: "0" + - uses: garronej/ts-ci@v2.1.5 + with: + action_name: remove_dark_mode_specific_images_from_readme + - name: Publishing on NPM + run: | + if [ "$(npm show . version)" = "$VERSION" ]; then + echo "This version is already published" + exit 0 + fi + if [ "$NODE_AUTH_TOKEN" = "" ]; then + echo "Can't publish on NPM, You must first create a secret called NPM_TOKEN that contains your NPM auth token. https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets" + false + fi + EXTRA_ARGS="" + if [ "$IS_PRE_RELEASE" = "true" ]; then + EXTRA_ARGS="--tag next" + fi + npm publish $EXTRA_ARGS + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + VERSION: ${{ needs.check_if_version_upgraded.outputs.to_version }} + IS_PRE_RELEASE: ${{ needs.check_if_version_upgraded.outputs.is_pre_release }}