From 259271bc0fdcf58a1deca6ff29e1a9a9bfa2c946 Mon Sep 17 00:00:00 2001 From: garronej Date: Thu, 13 Oct 2022 12:07:32 +0200 Subject: [PATCH] Update CI --- .github/workflows/ci.yaml | 47 ++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ef5d2ab9..773d16a4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,8 +13,8 @@ jobs: runs-on: ubuntu-latest if: ${{ !github.event.created && github.repository != 'garronej/ts-ci' }} steps: - - uses: actions/checkout@v2.3.4 - - uses: actions/setup-node@v2.1.3 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 - uses: bahmutov/npm-install@v1 - name: If this step fails run 'npm run lint' and 'npm run format' then commit again. run: | @@ -22,32 +22,34 @@ jobs: if [ -f "./yarn.lock" ]; then PACKAGE_MANAGER=yarn fi + $PACKAGE_MANAGER run lint:check $PACKAGE_MANAGER run format:check test: - runs-on: macos-10.15 + runs-on: ${{ matrix.os }} needs: test_lint - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} strategy: matrix: - node: [ '15', '14' ] - name: Test with Node v${{ matrix.node }} + node: [ '14', '15' ,'16', '17' ] + os: [ windows-latest, ubuntu-latest ] + name: Test with Node v${{ matrix.node }} on ${{ matrix.os }} steps: - name: Tell if project is using npm or yarn id: step1 - uses: garronej/ts-ci@v1.1.7 + uses: garronej/ts-ci@v2.0.2 with: action_name: tell_if_project_uses_npm_or_yarn - - uses: actions/checkout@v2.3.4 - - uses: actions/setup-node@v2.1.3 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} - uses: bahmutov/npm-install@v1 - if: steps.step1.outputs.npm_or_yarn == 'yarn' run: | + yarn build yarn test - if: steps.step1.outputs.npm_or_yarn == 'npm' run: | + npm run build npm test check_if_version_upgraded: name: Check if version upgrade @@ -63,9 +65,9 @@ jobs: from_version: ${{ steps.step1.outputs.from_version }} to_version: ${{ steps.step1.outputs.to_version }} is_upgraded_version: ${{ steps.step1.outputs.is_upgraded_version }} - is_release_beta: ${{steps.step1.outputs.is_release_beta }} + is_pre_release: ${{steps.step1.outputs.is_pre_release }} steps: - - uses: garronej/ts-ci@v1.1.7 + - uses: garronej/ts-ci@v2.0.2 id: step1 with: action_name: is_package_json_version_upgraded @@ -73,13 +75,13 @@ jobs: create_github_release: runs-on: ubuntu-latest - # We create a release only if the version have been upgraded and we are on a default branch - # PR on the default branch can release beta but not real release + # We create a release only if the version have been upgraded and we are on the main branch + # or if we are on a branch of the repo that has an PR open on main. if: | needs.check_if_version_upgraded.outputs.is_upgraded_version == 'true' && ( github.event_name == 'push' || - needs.check_if_version_upgraded.outputs.is_release_beta == 'true' + needs.check_if_version_upgraded.outputs.is_pre_release == 'true' ) needs: - check_if_version_upgraded @@ -91,7 +93,7 @@ jobs: target_commitish: ${{ github.head_ref || github.ref }} generate_release_notes: true draft: false - prerelease: ${{ needs.check_if_version_upgraded.outputs.is_release_beta == 'true' }} + prerelease: ${{ needs.check_if_version_upgraded.outputs.is_pre_release == 'true' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -101,12 +103,11 @@ jobs: - create_github_release - check_if_version_upgraded steps: - - uses: actions/checkout@v2.3.4 + - uses: actions/checkout@v3 with: ref: ${{ github.ref }} - - uses: actions/setup-node@v2.1.3 + - uses: actions/setup-node@v3 with: - node-version: '15' registry-url: https://registry.npmjs.org/ - uses: bahmutov/npm-install@v1 - run: | @@ -115,7 +116,7 @@ jobs: PACKAGE_MANAGER=yarn fi $PACKAGE_MANAGER run build - - run: npx -y -p denoify@1.0.2 enable_short_npm_import_path + - run: npx -y -p denoify@1.2.2 enable_short_npm_import_path env: DRY_RUN: "0" - name: Publishing on NPM @@ -129,11 +130,11 @@ jobs: false fi EXTRA_ARGS="" - if [ "$IS_BETA" = "true" ]; then - EXTRA_ARGS="--tag beta" + 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_BETA: ${{ needs.check_if_version_upgraded.outputs.is_release_beta }} \ No newline at end of file + IS_PRE_RELEASE: ${{ needs.check_if_version_upgraded.outputs.is_pre_release }} \ No newline at end of file