Skip to content

Commit

Permalink
ci(build): build node packages
Browse files Browse the repository at this point in the history
  • Loading branch information
charislam committed Dec 6, 2024
1 parent 92cbf4f commit dda2a52
Show file tree
Hide file tree
Showing 23 changed files with 457 additions and 272 deletions.
160 changes: 74 additions & 86 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,89 +123,77 @@ jobs:
name: artifact-bin-windows-${{ matrix.arch }}
path: supa-mdx-lint-Windows-${{ matrix.arch }}.exe
if-no-files-found: "error"
# node:
# name: NPM Package
# runs-on: ubuntu-latest
# needs: [linux, macos, macos_universal, windows]
#
# steps:
# - uses: actions/checkout@v2
#
# - uses: actions/setup-node@v1
# with:
# node-version: "20.10.0"
#
# - name: Download compiled binaries
# uses: actions/download-artifact@v4
# with:
# pattern: artifact-bin-*
# merge-multiple: true
#
# - name: Calculate and store checksums
# shell: bash
# run: |
# sha256sum sentry-cli-* | awk '{printf("%s=%s\n", $2, $1)}' > checksums.txt
# cat checksums.txt
#
# - run: npm pack
#
# - uses: actions/upload-artifact@v4
# with:
# name: artifact-pkg-node
# path: "*.tgz"
# if-no-files-found: "error"
#
# npm-distributions:
# name: "Build NPM distributions"
# runs-on: ubuntu-latest
# needs: [linux, macos, macos_universal, windows]
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-node@v4
# with:
# node-version: "20.10.0"
# - uses: actions/download-artifact@v4
# with:
# pattern: artifact-bin-*
# merge-multiple: true
# path: binary-artifacts
# - name: Move binaries into distribution packages
# run: |
# mv binary-artifacts/sentry-cli-Darwin-universal npm-binary-distributions/darwin/bin/sentry-cli
# mv binary-artifacts/sentry-cli-Linux-armv7 npm-binary-distributions/linux-arm/bin/sentry-cli
# mv binary-artifacts/sentry-cli-Linux-aarch64 npm-binary-distributions/linux-arm64/bin/sentry-cli
# mv binary-artifacts/sentry-cli-Linux-i686 npm-binary-distributions/linux-i686/bin/sentry-cli
# mv binary-artifacts/sentry-cli-Linux-x86_64 npm-binary-distributions/linux-x64/bin/sentry-cli
# mv binary-artifacts/sentry-cli-Windows-i686.exe npm-binary-distributions/win32-i686/bin/sentry-cli.exe
# mv binary-artifacts/sentry-cli-Windows-x86_64.exe npm-binary-distributions/win32-x64/bin/sentry-cli.exe
# - name: Remove binary placeholders
# run: rm -rf npm-binary-distributions/*/bin/.gitkeep
# - name: Make Linux binaries executable
# run: chmod +x npm-binary-distributions/*/bin/sentry-cli
# - name: Package distribution packages
# run: |
# for dir in npm-binary-distributions/*; do
# cd $dir
# npm pack
# cd -
# done
#
# - name: Upload packaged npm binary distributions
# uses: actions/upload-artifact@v4
# with:
# name: artifact-npm-binary-distributions
# path: npm-binary-distributions/*/*.tgz
# if-no-files-found: "error"
#
# merge:
# name: Create Release Artifact
# runs-on: ubuntu-latest
# needs:
# [linux, macos, macos_universal, windows, npm-distributions, node, python]
# steps:
# - uses: actions/upload-artifact/merge@v4
# with:
# # Craft expects release assets to be a single artifact named after the sha.
# name: ${{ github.sha }}
# pattern: artifact-*
# delete-merged: true

node:
name: NPM Package
runs-on: ubuntu-latest
needs: [linux, macos, macos_universal, windows]

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: "20.10.0"

- name: Download compiled binaries
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
pattern: artifact-bin-*
merge-multiple: true

- name: Calculate and store checksums
shell: bash
run: |
sha256sum supa-mdx-lint-* | awk '{printf("%s=%s\n", $2, $1)}' > checksums.txt
cat checksums.txt
- run: npm pack
working-directory: packages/supa-mdx-lint

- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 #v4.4.3
with:
name: artifact-pkg-node
path: "packages/supa-mdx-lint/*.tgz"
if-no-files-found: "error"

npm-distributions:
name: "Build NPM distributions"
runs-on: ubuntu-latest
needs: [linux, macos, macos_universal, windows]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: "20.10.0"
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
pattern: artifact-bin-*
merge-multiple: true
path: binary-artifacts
- name: Move binaries into distribution packages
run: |
mv binary-artifacts/supa-mdx-lint-Darwin-universal npm-binary-distributions/darwin/bin/supa-mdx-lint
mv binary-artifacts/supa-mdx-lint-Linux-armv7 npm-binary-distributions/linux-arm/bin/supa-mdx-lint
mv binary-artifacts/supa-mdx-lint-Linux-aarch64 npm-binary-distributions/linux-arm64/bin/supa-mdx-lint
mv binary-artifacts/supa-mdx-lint-Linux-i686 npm-binary-distributions/linux-i686/bin/supa-mdx-lint
mv binary-artifacts/supa-mdx-lint-Linux-x86_64 npm-binary-distributions/linux-x64/bin/supa-mdx-lint
mv binary-artifacts/supa-mdx-lint-Windows-i686.exe npm-binary-distributions/win32-i686/bin/supa-mdx-lint.exe
mv binary-artifacts/supa-mdx-lint-Windows-x86_64.exe npm-binary-distributions/win32-x64/bin/supa-mdx-lint.exe
- name: Remove binary placeholders
run: rm -rf npm-binary-distributions/*/bin/.gitkeep
- name: Make binaries executable
run: chmod +x npm-binary-distributions/*/bin/supa-mdx-lint
- name: Package distribution packages
run: |
for dir in npm-binary-distributions/*; do
cd $dir
npm pack
cd -
done
- name: Upload packaged npm binary distributions
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 #v4.4.3
with:
name: artifact-npm-binary-distributions
path: npm-binary-distributions/*/*.tgz
if-no-files-found: "error"
Loading

0 comments on commit dda2a52

Please sign in to comment.