Skip to content

Commit 9df1c41

Browse files
committed
Included dockerfiles and github actions
1 parent 44accfb commit 9df1c41

17 files changed

Lines changed: 791 additions & 0 deletions

.github/workflows/bash.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: bash
2+
on: [workflow_dispatch]
3+
4+
jobs:
5+
build:
6+
runs-on: ubuntu-latest
7+
outputs:
8+
ssha: ${{ steps.ssha.outputs.ssha }}
9+
steps:
10+
- name: Checkout code
11+
uses: actions/checkout@v4
12+
13+
- name: Set up QEMU
14+
uses: docker/setup-qemu-action@v3
15+
16+
- name: Compile and extract artifacts from docker container
17+
run: |
18+
mkdir -p dist
19+
for arch in x86_64; do
20+
docker build --platform "${arch}" -f bash.dockerfile -t bash:latest .
21+
docker run --rm --platform "${arch}" \
22+
-v $(pwd):/workdir \
23+
bash:latest \
24+
cp /dist/bash "/workdir/dist/bash-${arch}"
25+
sha256sum ./dist/bash-${arch} | awk '{print $1}' > ./dist/bash-${arch}.sha256sum
26+
done
27+
28+
- name: Set permissions for dist directory
29+
run: |
30+
sudo chown -R "$(id -u)":"$(id -g)" dist/
31+
sudo chmod -R 755 dist/
32+
33+
- name: Upload artifacts to release
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: dist
37+
path: 'dist'
38+
39+
- name: Compute Short SHA
40+
id: ssha
41+
run: |
42+
echo "ssha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
43+
44+
45+
release:
46+
permissions: write-all
47+
needs: [build]
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout code
51+
uses: actions/checkout@v4
52+
- name: Download artifacts
53+
uses: actions/download-artifact@v4
54+
with:
55+
name: dist
56+
- name: Create release
57+
env:
58+
GH_TOKEN: ${{ github.token }}
59+
run: |
60+
TAG=${GITHUB_SHA::7}
61+
# Create release if it doesn't exist; ignore error if it does
62+
gh release create "$TAG" --title "Release $TAG" --notes "Automated" --target "$GITHUB_SHA" || true
63+
# Upload/replace the asset(s)
64+
gh release upload "$TAG" bash-* --clobber

.github/workflows/busybox.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: busybox
2+
on: [workflow_dispatch]
3+
4+
jobs:
5+
build:
6+
runs-on: ubuntu-latest
7+
outputs:
8+
ssha: ${{ steps.ssha.outputs.ssha }}
9+
steps:
10+
- name: Checkout code
11+
uses: actions/checkout@v4
12+
13+
- name: Set up QEMU
14+
uses: docker/setup-qemu-action@v3
15+
16+
- name: Compile and extract artifacts from docker container
17+
run: |
18+
mkdir -p dist
19+
for arch in x86_64; do
20+
docker build --platform "${arch}" -f busybox.dockerfile -t busybox:latest .
21+
docker run --rm --platform "${arch}" \
22+
-v $(pwd):/workdir \
23+
busybox:latest \
24+
cp /tools/busybox/busybox "/workdir/dist/busybox-${arch}"
25+
sha256sum ./dist/busybox-${arch} | awk '{print $1}' > ./dist/busybox-${arch}.sha256sum
26+
done
27+
28+
- name: Set permissions for dist directory
29+
run: |
30+
sudo chown -R "$(id -u)":"$(id -g)" dist/
31+
sudo chmod -R 755 dist/
32+
33+
- name: Upload artifacts to release
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: dist
37+
path: 'dist'
38+
39+
- name: Compute Short SHA
40+
id: ssha
41+
run: |
42+
echo "ssha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
43+
44+
45+
release:
46+
permissions: write-all
47+
needs: [build]
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout code
51+
uses: actions/checkout@v4
52+
- name: Download artifacts
53+
uses: actions/download-artifact@v4
54+
with:
55+
name: dist
56+
- name: Create release
57+
env:
58+
GH_TOKEN: ${{ github.token }}
59+
run: |
60+
TAG=${GITHUB_SHA::7}
61+
# Create release if it doesn't exist; ignore error if it does
62+
gh release create "$TAG" --title "Release $TAG" --notes "Automated" --target "$GITHUB_SHA" || true
63+
# Upload/replace the asset(s)
64+
gh release upload "$TAG" busybox-* --clobber

.github/workflows/bwrap.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: bwrap
2+
on: [workflow_dispatch]
3+
4+
jobs:
5+
build:
6+
runs-on: ubuntu-latest
7+
outputs:
8+
ssha: ${{ steps.ssha.outputs.ssha }}
9+
steps:
10+
- name: Checkout code
11+
uses: actions/checkout@v4
12+
13+
- name: Set up QEMU
14+
uses: docker/setup-qemu-action@v3
15+
16+
- name: Compile and extract artifacts from docker container
17+
run: |
18+
mkdir -p dist
19+
for arch in x86_64; do
20+
docker build --platform "${arch}" -f bwrap.dockerfile -t bwrap:latest .
21+
docker run --rm --platform "${arch}" \
22+
-v $(pwd):/workdir \
23+
bwrap:latest \
24+
cp /tools/bwrap/build/bwrap "/workdir/dist/bwrap-${arch}"
25+
sha256sum ./dist/bwrap-${arch} | awk '{print $1}' > ./dist/bwrap-${arch}.sha256sum
26+
done
27+
28+
- name: Set permissions for dist directory
29+
run: |
30+
sudo chown -R "$(id -u)":"$(id -g)" dist/
31+
sudo chmod -R 755 dist/
32+
33+
- name: Upload artifacts to release
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: dist
37+
path: 'dist'
38+
39+
- name: Compute Short SHA
40+
id: ssha
41+
run: |
42+
echo "ssha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
43+
44+
45+
release:
46+
permissions: write-all
47+
needs: [build]
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout code
51+
uses: actions/checkout@v4
52+
- name: Download artifacts
53+
uses: actions/download-artifact@v4
54+
with:
55+
name: dist
56+
- name: Create release
57+
env:
58+
GH_TOKEN: ${{ github.token }}
59+
run: |
60+
TAG=${GITHUB_SHA::7}
61+
# Create release if it doesn't exist; ignore error if it does
62+
gh release create "$TAG" --title "Release $TAG" --notes "Automated" --target "$GITHUB_SHA" || true
63+
# Upload/replace the asset(s)
64+
gh release upload "$TAG" bwrap-* --clobber

.github/workflows/ciopfs.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: ciopfs
2+
on: [workflow_dispatch]
3+
4+
jobs:
5+
build:
6+
runs-on: ubuntu-latest
7+
outputs:
8+
ssha: ${{ steps.ssha.outputs.ssha }}
9+
steps:
10+
- name: Checkout code
11+
uses: actions/checkout@v4
12+
13+
- name: Set up QEMU
14+
uses: docker/setup-qemu-action@v3
15+
16+
- name: Compile and extract artifacts from docker container
17+
run: |
18+
mkdir -p dist
19+
for arch in x86_64; do
20+
docker build --platform "${arch}" -f ciopfs.dockerfile -t ciopfs:latest .
21+
docker run --rm --platform "${arch}" \
22+
-v $(pwd):/workdir \
23+
ciopfs:latest \
24+
cp /tools/ciopfs/ciopfs "/workdir/dist/ciopfs-${arch}"
25+
sha256sum ./dist/ciopfs-${arch} | awk '{print $1}' > ./dist/ciopfs-${arch}.sha256sum
26+
done
27+
28+
- name: Set permissions for dist directory
29+
run: |
30+
sudo chown -R "$(id -u)":"$(id -g)" dist/
31+
sudo chmod -R 755 dist/
32+
33+
- name: Upload artifacts to release
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: dist
37+
path: 'dist'
38+
39+
- name: Compute Short SHA
40+
id: ssha
41+
run: |
42+
echo "ssha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
43+
44+
45+
release:
46+
permissions: write-all
47+
needs: [build]
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout code
51+
uses: actions/checkout@v4
52+
- name: Download artifacts
53+
uses: actions/download-artifact@v4
54+
with:
55+
name: dist
56+
- name: Create release
57+
env:
58+
GH_TOKEN: ${{ github.token }}
59+
run: |
60+
TAG=${GITHUB_SHA::7}
61+
# Create release if it doesn't exist; ignore error if it does
62+
gh release create "$TAG" --title "Release $TAG" --notes "Automated" --target "$GITHUB_SHA" || true
63+
# Upload/replace the asset(s)
64+
gh release upload "$TAG" ciopfs-* --clobber

.github/workflows/imagemagick.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: imagemagick
2+
on: [workflow_dispatch]
3+
4+
jobs:
5+
build:
6+
runs-on: ubuntu-latest
7+
outputs:
8+
ssha: ${{ steps.ssha.outputs.ssha }}
9+
steps:
10+
- name: Checkout code
11+
uses: actions/checkout@v4
12+
13+
- name: Set up QEMU
14+
uses: docker/setup-qemu-action@v3
15+
16+
- name: Compile and extract artifacts from docker container
17+
run: |
18+
mkdir -p dist
19+
for arch in x86_64; do
20+
docker build --platform "${arch}" -f imagemagick.dockerfile -t imagemagick:latest .
21+
docker run --rm --platform "${arch}" \
22+
-v $(pwd):/workdir \
23+
imagemagick:latest \
24+
cp /dist/magick "/workdir/dist/magick-${arch}"
25+
sha256sum ./dist/magick-${arch} | awk '{print $1}' > ./dist/magick-${arch}.sha256sum
26+
done
27+
28+
- name: Set permissions for dist directory
29+
run: |
30+
sudo chown -R "$(id -u)":"$(id -g)" dist/
31+
sudo chmod -R 755 dist/
32+
33+
- name: Upload artifacts to release
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: dist
37+
path: 'dist'
38+
39+
- name: Compute Short SHA
40+
id: ssha
41+
run: |
42+
echo "ssha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
43+
44+
45+
release:
46+
permissions: write-all
47+
needs: [build]
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout code
51+
uses: actions/checkout@v4
52+
- name: Download artifacts
53+
uses: actions/download-artifact@v4
54+
with:
55+
name: dist
56+
- name: Create release
57+
env:
58+
GH_TOKEN: ${{ github.token }}
59+
run: |
60+
TAG=${GITHUB_SHA::7}
61+
# Create release if it doesn't exist; ignore error if it does
62+
gh release create "$TAG" --title "Release $TAG" --notes "Automated" --target "$GITHUB_SHA" || true
63+
# Upload/replace the asset(s)
64+
gh release upload "$TAG" magick-* --clobber

.github/workflows/overlayfs.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: overlayfs
2+
on: [workflow_dispatch]
3+
4+
jobs:
5+
build:
6+
runs-on: ubuntu-latest
7+
outputs:
8+
ssha: ${{ steps.ssha.outputs.ssha }}
9+
steps:
10+
- name: Checkout code
11+
uses: actions/checkout@v4
12+
13+
- name: Set up QEMU
14+
uses: docker/setup-qemu-action@v3
15+
16+
- name: Compile and extract artifacts from docker container
17+
run: |
18+
mkdir -p dist
19+
for arch in x86_64; do
20+
docker build --platform "${arch}" -f overlayfs.dockerfile -t overlayfs:latest .
21+
docker run --rm --platform "${arch}" \
22+
-v $(pwd):/workdir \
23+
overlayfs:latest \
24+
cp /tools/overlayfs/fuse-overlayfs "/workdir/dist/overlayfs-${arch}"
25+
sha256sum ./dist/overlayfs-${arch} | awk '{print $1}' > ./dist/overlayfs-${arch}.sha256sum
26+
done
27+
28+
- name: Set permissions for dist directory
29+
run: |
30+
sudo chown -R "$(id -u)":"$(id -g)" dist/
31+
sudo chmod -R 755 dist/
32+
33+
- name: Upload artifacts to release
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: dist
37+
path: 'dist'
38+
39+
- name: Compute Short SHA
40+
id: ssha
41+
run: |
42+
echo "ssha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
43+
44+
45+
release:
46+
permissions: write-all
47+
needs: [build]
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout code
51+
uses: actions/checkout@v4
52+
- name: Download artifacts
53+
uses: actions/download-artifact@v4
54+
with:
55+
name: dist
56+
- name: Create release
57+
env:
58+
GH_TOKEN: ${{ github.token }}
59+
run: |
60+
TAG=${GITHUB_SHA::7}
61+
# Create release if it doesn't exist; ignore error if it does
62+
gh release create "$TAG" --title "Release $TAG" --notes "Automated" --target "$GITHUB_SHA" || true
63+
# Upload/replace the asset(s)
64+
gh release upload "$TAG" overlayfs-* --clobber

0 commit comments

Comments
 (0)