From 0206df2d6e450a279dd09261c2a5b0bcdc630ccf Mon Sep 17 00:00:00 2001 From: Mqxx <62719703+Mqxx@users.noreply.github.com> Date: Thu, 22 Jan 2026 08:46:04 +0100 Subject: [PATCH 1/4] Create publish_jsr.yml --- .github/workflows/publish_jsr.yml | 58 +++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/publish_jsr.yml diff --git a/.github/workflows/publish_jsr.yml b/.github/workflows/publish_jsr.yml new file mode 100644 index 0000000..c6ccfcf --- /dev/null +++ b/.github/workflows/publish_jsr.yml @@ -0,0 +1,58 @@ +name: 'Publish JSR' +description: | + This workflow serializes the build binary to Base64 and generates a JSON file with meta data about the file. + The file then gets published to JSR (@serial/cpp-bindings-linux). + +on: + workflow_run: + workflows: ["Build Binary"] + types: + - completed + +permissions: + contents: read + id-token: write + +jobs: + publish-jsr: + runs-on: ubuntu-latest + + steps: + - name: 'Checkout repository' + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: 'Setup Deno' + uses: denoland/setup-deno@v2 + with: + deno-version: '2.x' + + - name: 'Download artifact' + uses: actions/download-artifact@v4 + with: + path: 'artifacts' + name: 'libcpp_bindings_linux_x86_64' + run-id: ${{ github.event.workflow_run.id }} + + - name: 'Prepare files for JSR' + run: | + cp LICENSE ./jsr/LICENSE + + ./jsr/scripts/embed_binary.sh \ + ./artifacts/libcpp_bindings_linux.so \ + ./jsr/bin \ + linux-x86_64 + + - name: 'Publish package to JSR' + if: github.event.workflow_run.event == 'push' && github.event.workflow_run.head_branch == 'main' + working-directory: jsr + run: | + deno publish --allow-dirty + + - name: 'Publish package to JSR (dry-run)' + if: github.event.workflow_run.event == 'pull_request' + working-directory: jsr + run: | + deno publish --allow-dirty --dry-run + From e718c5fe25a7a784a8ef158bcc073e29c2059d78 Mon Sep 17 00:00:00 2001 From: Mqxx <62719703+Mqxx@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:19:49 +0100 Subject: [PATCH 2/4] Update publish_jsr.yml --- .github/workflows/publish_jsr.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_jsr.yml b/.github/workflows/publish_jsr.yml index c6ccfcf..ce42e65 100644 --- a/.github/workflows/publish_jsr.yml +++ b/.github/workflows/publish_jsr.yml @@ -28,16 +28,24 @@ jobs: with: deno-version: '2.x' - - name: 'Download artifact' + - name: 'Download artifact (binary)' uses: actions/download-artifact@v4 with: path: 'artifacts' name: 'libcpp_bindings_linux_x86_64' run-id: ${{ github.event.workflow_run.id }} + - name: 'Download artifact (JSR)' + uses: actions/download-artifact@v4 + with: + path: 'artifacts' + name: 'jsr_json' + run-id: ${{ github.event.workflow_run.id }} + - name: 'Prepare files for JSR' run: | - cp LICENSE ./jsr/LICENSE + cp ./artifacts/jsr/jsr.json ./jsr/jsr.json + cp ./LICENSE ./jsr/LICENSE ./jsr/scripts/embed_binary.sh \ ./artifacts/libcpp_bindings_linux.so \ From e10267e5eef4e273a00212ba9acb09a1f748ef56 Mon Sep 17 00:00:00 2001 From: Mqxx <62719703+Mqxx@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:28:07 +0100 Subject: [PATCH 3/4] Update publish_jsr.yml --- .github/workflows/publish_jsr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_jsr.yml b/.github/workflows/publish_jsr.yml index ce42e65..215d2bc 100644 --- a/.github/workflows/publish_jsr.yml +++ b/.github/workflows/publish_jsr.yml @@ -44,7 +44,7 @@ jobs: - name: 'Prepare files for JSR' run: | - cp ./artifacts/jsr/jsr.json ./jsr/jsr.json + cp ./artifacts/jsr.json ./jsr/jsr.json cp ./LICENSE ./jsr/LICENSE ./jsr/scripts/embed_binary.sh \ From ece7b454ca073c878c010c8b24be6cff3be01529 Mon Sep 17 00:00:00 2001 From: Mqxx <62719703+Mqxx@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:29:05 +0100 Subject: [PATCH 4/4] Update publish_jsr.yml --- .github/workflows/publish_jsr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_jsr.yml b/.github/workflows/publish_jsr.yml index 215d2bc..11304ac 100644 --- a/.github/workflows/publish_jsr.yml +++ b/.github/workflows/publish_jsr.yml @@ -5,7 +5,7 @@ description: | on: workflow_run: - workflows: ["Build Binary"] + workflows: ['Build Binary'] types: - completed