Skip to content

Commit 59abb9d

Browse files
committed
Setup release workflow
1 parent f2330e8 commit 59abb9d

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

.github/workflows/release.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Release
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
tags: ["v*"]
7+
pull_request:
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
build:
15+
name: Build Native Gems
16+
strategy:
17+
matrix:
18+
os: [ubuntu-latest]
19+
target:
20+
- default
21+
- aarch64-linux
22+
- x86_64-linux
23+
- x86_64-linux-musl
24+
- aarch64-linux-musl
25+
- x64-mingw-ucrt
26+
- x86_64-darwin
27+
- arm64-darwin
28+
runs-on: ${{ matrix.os }}
29+
steps:
30+
- uses: actions/checkout@v4
31+
32+
- name: Setup Ruby
33+
uses: ruby/setup-ruby@v1
34+
with:
35+
bundler-cache: false
36+
37+
- name: Install dependencies
38+
run: |
39+
sudo apt-get update
40+
sudo apt-get install -y build-essential check
41+
42+
- name: Compile C extension
43+
run: |
44+
make
45+
46+
- name: Build gem
47+
run: gem build erbx.gemspec
48+
49+
- name: Rename artifact for target
50+
run: |
51+
gem_file=$(ls *.gem)
52+
mv "$gem_file" "${gem_file%.gem}-${{ matrix.target }}.gem"
53+
echo "Renamed gem file to: ${gem_file%.gem}-${{ matrix.target }}.gem"
54+
55+
- name: List Generated Gem Artifacts
56+
run: |
57+
echo "Listing generated .gem files:"
58+
ls -al *.gem

0 commit comments

Comments
 (0)