Skip to content

Commit 7093ad8

Browse files
committed
Create qi-bash.yml
1 parent 08bc2e7 commit 7093ad8

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed

.github/workflows/qi-bash.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: qi.bash tests
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- 'qi.bash'
8+
9+
permissions:
10+
contents: write
11+
12+
jobs:
13+
test:
14+
runs-on: ${{ matrix.runs-on }}
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
runs-on: ["ubuntu-24.04"]
19+
arch: ["amd64", "arm32v6", "arm32v7", "arm64v8", "i386", "riscv64"]
20+
container_image: [
21+
"ubuntu:latest",
22+
"debian:latest",
23+
"alpine:edge"
24+
]
25+
include:
26+
- arch: amd64
27+
platform: linux/amd64
28+
- arch: arm32v6
29+
platform: linux/arm/v6
30+
- arch: arm32v7
31+
platform: linux/arm/v7
32+
- arch: arm64v8
33+
platform: linux/arm64
34+
- arch: i386
35+
platform: linux/i386
36+
- arch: riscv64
37+
platform: linux/riscv64
38+
exclude:
39+
- arch: i386
40+
container_image: ubuntu:latest
41+
- arch: arm32v6
42+
container_image: ubuntu:latest
43+
- arch: riscv64
44+
container_image: debian:latest
45+
- arch: arm32v6
46+
container_image: debian:latest
47+
48+
env:
49+
container_name: "build"
50+
steps:
51+
- name: Checkout
52+
uses: actions/checkout@v4
53+
with:
54+
persist-credentials: false
55+
56+
- name: Set up QEMU
57+
uses: docker/setup-qemu-action@v3
58+
59+
- name: Create docker ${{ env.container_name }} ${{ matrix.container_image }} ${{ matrix.platform }} container
60+
run: >
61+
docker run --name ${container_name} -it -d
62+
-w /root
63+
-v ${{ github.workspace }}:/root
64+
-e "GH_TOKEN=${{ github.token }}"
65+
--platform ${{ matrix.platform }}
66+
${{ matrix.arch }}/${{ matrix.container_image }}
67+
68+
- name: Run apk update
69+
if: matrix.container_image == 'alpine:edge'
70+
run: |
71+
docker exec ${container_name} apk update
72+
docker exec ${container_name} apk add bash github-cli
73+
74+
- name: Run apk update
75+
if: matrix.container_image == 'alpine:edge'
76+
run: docker exec ${container_name} gh --version
77+
78+
- name: Run alpine apk --print-arch
79+
if: matrix.container_image == 'alpine:edge'
80+
run: |
81+
printf '\n%b\n' "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
82+
docker exec ${container_name} apk --print-arch | tee -a $GITHUB_STEP_SUMMARY
83+
printf '\n%b\n' "\`\`\`" >> $GITHUB_STEP_SUMMARY
84+
85+
- name: Run debian dpkg --print-architecture
86+
if: matrix.container_image == 'debian:latest' || matrix.container_image == 'ubuntu:latest'
87+
run: |
88+
printf '\n%b\n' "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
89+
docker exec ${container_name} dpkg --print-architecture | tee -a $GITHUB_STEP_SUMMARY
90+
printf '\n%b\n' "\`\`\`" >> $GITHUB_STEP_SUMMARY
91+
92+
- name: Run apt-get update
93+
if: matrix.container_image == 'debian:latest' || matrix.container_image == 'ubuntu:latest'
94+
run: |
95+
docker exec ${container_name} apt-get update
96+
docker exec ${container_name} apt-get install -y wget
97+
98+
- run: |
99+
chmod +x qi.bash
100+
printf '\n%b\n' "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
101+
docker exec ${container_name} bash -l qi.bash | sed 's/\x1b\[[0-9;]*m//g' | tee -a $GITHUB_STEP_SUMMARY
102+
printf '\n%b\n' "\`\`\`" >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)