From 319f2ade3420ef5a20702ba57572088e954bc48c Mon Sep 17 00:00:00 2001 From: hoshinotsuyoshi Date: Wed, 12 Feb 2025 12:45:33 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8=20Trigger=20package=20release=20te?= =?UTF-8?q?st=20workflow=20after=20publishing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added `released_package_test.yml` workflow to verify the released package. - Modified `release.yml` to trigger `released_package_test.yml` via API when a release is created. - Passes the published package version and a delay parameter to the test workflow. - Ensures the CLI package exits correctly using `npx @liam-hq/cli@ --version`. --- .github/workflows/release.yml | 9 ++++++ .github/workflows/released_package_test.yml | 32 +++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 .github/workflows/released_package_test.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 206f8a179..afef40013 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,9 +30,18 @@ jobs: token: ${{ steps.app-token.outputs.token }} - uses: ./.github/actions/pnpm-setup - name: Create Release Pull Request or Publish to npm + id: changesets-action uses: changesets/action@v1.4.9 with: publish: pnpm run release env: GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Trigger released_package_test.yml via API + if: ${{ steps.changesets-action.outputs.release_created == 'true' }} + run: | + version=$(cat frontend/packages/cli/package.json | jq -r '.version') + curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Accept: application/vnd.github.v3+json" \ + https://api.github.com/repos/${{ github.repository }}/actions/workflows/released_package_test.yml/dispatches \ + -d '{"ref":"main", "inputs": { "delay_seconds": "60", "version": "'${version}'" }}' diff --git a/.github/workflows/released_package_test.yml b/.github/workflows/released_package_test.yml new file mode 100644 index 000000000..a99ef3c62 --- /dev/null +++ b/.github/workflows/released_package_test.yml @@ -0,0 +1,32 @@ +name: "released package test" + +on: + workflow_dispatch: + inputs: + delay_seconds: + description: "Delay in seconds before execution" + required: false + default: 0 + type: number + version: + description: "Version to test" + required: true + type: string + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + timeout-minutes: 15 + runs-on: ubuntu-latest + steps: + - name: sleep + run: | + echo "Starting after ${{ github.event.inputs.delay_seconds }} seconds" + sleep ${{ github.event.inputs.delay_seconds }} + - name: check @liam-hq/cli exit code + run: | + version="${{ github.event.inputs.version }}" + docker run --rm -it node:20-bullseye npx --yes @liam-hq/cli@${version} --version