Skip to content

Commit bf24fdf

Browse files
committed
Try if the template works
1 parent 8a15c60 commit bf24fdf

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

.github/workflows/foo.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: "Package gems with precompiled binaries"
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
release:
6+
description: "If the whole build passes on all platforms, release the gems on RubyGems.org"
7+
required: false
8+
type: boolean
9+
default: false
10+
push: # Extra
11+
jobs:
12+
compile:
13+
timeout-minutes: 20
14+
name: "Cross compile the gem on different ruby versions"
15+
strategy:
16+
matrix:
17+
os: ["macos-latest", "macos-15-intel", "ubuntu-latest", "windows-latest"]
18+
runs-on: "${{ matrix.os }}"
19+
steps:
20+
- name: "Checkout code"
21+
uses: "actions/checkout@v5"
22+
- name: "Setup Ruby"
23+
uses: "ruby/setup-ruby@v1"
24+
with:
25+
ruby-version: "3.4.6"
26+
bundler-cache: true
27+
working-directory: "test/fixtures/date" # EXTRA
28+
- name: "Run easy compile"
29+
uses: "shopify-playground/edouard-playground/.github/actions/easy_compile@easy-compile"
30+
with:
31+
step: "compile"
32+
working-directory: "test/fixtures/date" # EXTRA
33+
test:
34+
timeout-minutes: 20
35+
name: "Run the test suite"
36+
needs: compile
37+
strategy:
38+
matrix:
39+
os: ["macos-latest", "macos-15-intel", "ubuntu-latest", "windows-latest"]
40+
rubies: ["3.0.7", "3.1.7", "3.2.9", "3.3.9", "3.4.6"]
41+
type: ["cross", "native"]
42+
runs-on: "${{ matrix.os }}"
43+
steps:
44+
- name: "Checkout code"
45+
uses: "actions/checkout@v5"
46+
- name: "Setup Ruby"
47+
uses: "ruby/setup-ruby@v1"
48+
with:
49+
ruby-version: "${{ matrix.rubies }}"
50+
bundler-cache: true
51+
working-directory: "test/fixtures/date" # EXTRA
52+
- name: "Run easy compile"
53+
uses: "shopify-playground/edouard-playground/.github/actions/easy_compile@easy-compile"
54+
with:
55+
step: "test_${{ matrix.type }}"
56+
working-directory: "test/fixtures/date" # EXTRA
57+
install:
58+
timeout-minutes: 5
59+
name: "Verify the gem can be installed"
60+
needs: test
61+
strategy:
62+
matrix:
63+
os: ["macos-latest", "macos-15-intel", "ubuntu-latest", "windows-latest"]
64+
runs-on: "${{ matrix.os }}"
65+
steps:
66+
- name: "Setup Ruby"
67+
uses: "ruby/setup-ruby@v1"
68+
with:
69+
ruby-version: "3.4.6"
70+
working-directory: "test/fixtures/date" # EXTRA
71+
- name: "Run easy compile"
72+
uses: "shopify-playground/edouard-playground/.github/actions/easy_compile@easy-compile"
73+
with:
74+
step: "install"
75+
working-directory: "test/fixtures/date" # EXTRA
76+
release:
77+
permissions:
78+
id-token: write
79+
timeout-minutes: 5
80+
if: ${{ inputs.release }}
81+
name: "Release all gems with RubyGems"
82+
needs: install
83+
runs-on: "ubuntu-latest"
84+
steps:
85+
- name: "Setup Ruby"
86+
uses: "ruby/setup-ruby@v1"
87+
with:
88+
ruby-version: "3.4.7"
89+
bundler-cache: true
90+
working-directory: "test/fixtures/date" # EXTRA
91+
- name: "Run easy compile"
92+
uses: "shopify-playground/edouard-playground/.github/actions/easy_publish@easy-compile"
93+
working-directory: "test/fixtures/date" # EXTRA

0 commit comments

Comments
 (0)