Skip to content

Commit 1ed9d2d

Browse files
Merge pull request #16 from Asana/add-build-node-packages-workflow
Add build-node-packages workflow to main
2 parents 69fcf95 + 8c820de commit 1ed9d2d

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Build Node-Packages
2+
3+
on:
4+
workflow_dispatch:
5+
workflow_run:
6+
workflows: ["Build Node (Standard)"]
7+
types:
8+
- completed
9+
branches:
10+
- v22.21.1
11+
12+
jobs:
13+
build-packages:
14+
if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }}
15+
strategy:
16+
matrix:
17+
include:
18+
- platform: linux
19+
arch: x64
20+
runs_on: ubuntu-22.04
21+
- platform: linux
22+
arch: arm64
23+
runs_on: ubuntu-22.04-arm
24+
runs-on: ${{ matrix.runs_on }}
25+
26+
env:
27+
NODE_VERSION: v22.21.1
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v3
32+
33+
- name: Debug Matrix Values
34+
run: |
35+
echo "Matrix platform: ${{ matrix.platform }}"
36+
echo "Matrix arch: ${{ matrix.arch }}"
37+
38+
- name: Download Node archive
39+
run: |
40+
gh release download node-${{ env.NODE_VERSION }}-release \
41+
--repo asana/node \
42+
--pattern "node-${{ env.NODE_VERSION }}-${{ matrix.platform }}-${{ matrix.arch }}-LATEST.tar.xz"
43+
mv node-${{ env.NODE_VERSION }}-${{ matrix.platform }}-${{ matrix.arch }}-LATEST.tar.xz node.tar.xz
44+
env:
45+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46+
47+
- name: Execute the Dockerfile
48+
run: |
49+
pwd
50+
docker build -t node22_packages_build -f Dockerfile.Packages .
51+
52+
- name: Extract resources
53+
run: |
54+
docker create --name temp_node_packages_extract node22_packages_build
55+
docker cp temp_node_packages_extract:/usr/src/node/node_modules $GITHUB_WORKSPACE/node_modules
56+
docker rm temp_node_packages_extract
57+
58+
- name: Tar node-packages
59+
run: |
60+
mkdir -p ./bcrypt@5.1.0/node_modules
61+
mkdir -p ./cld@2.9.1/node_modules
62+
mkdir -p ./unix-dgram@2.0.6/node_modules
63+
mkdir -p "./@datadog+pprof@5.8.0/node_modules/@datadog"
64+
mv node_modules/bcrypt ./bcrypt@5.1.0/node_modules/
65+
mv node_modules/cld ./cld@2.9.1/node_modules/
66+
mv node_modules/unix-dgram ./unix-dgram@2.0.6/node_modules/
67+
mv "node_modules/@datadog/pprof" "./@datadog+pprof@5.8.0/node_modules/@datadog/"
68+
tar --hard-dereference -cvzf packages_${{matrix.arch}}.tar.gz bcrypt@5.1.0 cld@2.9.1 unix-dgram@2.0.6 "@datadog+pprof@5.8.0"
69+
70+
- name: Upload archive to release
71+
uses: softprops/action-gh-release@v1
72+
with:
73+
name: node-${{ env.NODE_VERSION }}-LATEST
74+
tag_name: node-${{ env.NODE_VERSION }}-release
75+
files: packages_${{matrix.arch}}.tar.gz
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)