Skip to content

Commit 4375af8

Browse files
committed
feat(add): more stuff
1 parent f00b8dc commit 4375af8

50 files changed

Lines changed: 4073 additions & 86 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/bun.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Build and Push Bun Images
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 0 1 * *"
7+
push:
8+
branches:
9+
- develop
10+
paths:
11+
- "bun/**"
12+
- ".github/workflows/bun.yml"
13+
14+
env:
15+
REGISTRY: ghcr.io
16+
IMAGE_NAME: ${{ github.repository_owner }}/bun
17+
18+
jobs:
19+
push:
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
23+
packages: write
24+
25+
strategy:
26+
matrix:
27+
tag:
28+
- "1.0"
29+
- "1.1"
30+
- "latest"
31+
32+
steps:
33+
- name: Checkout repository
34+
uses: actions/checkout@v4
35+
36+
- name: Set up Docker Buildx
37+
uses: docker/setup-buildx-action@v3
38+
39+
- name: Set up QEMU
40+
uses: docker/setup-qemu-action@v3
41+
42+
- name: Log in to Container Registry
43+
uses: docker/login-action@v3
44+
with:
45+
registry: ${{ env.REGISTRY }}
46+
username: ${{ github.actor }}
47+
password: ${{ secrets.GITHUB_TOKEN }}
48+
49+
- name: Build and push
50+
uses: docker/buildx-action@v6
51+
with:
52+
context: ./bun/${{ matrix.tag }}
53+
platforms: linux/amd64,linux/arm64
54+
push: true
55+
tags: |
56+
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:bun_${{ matrix.tag }}
57+
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:bun_${{ matrix.tag }}-latest
58+
cache-from: type=gha
59+
cache-to: type=gha,mode=max

.github/workflows/games.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ jobs:
3434
game:
3535
- minecraft
3636
- rockstar/fivem
37+
- rockstar/redm
38+
- rust
3739

3840
steps:
3941
- name: Checkout code

.github/workflows/installers.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: build installers
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 0 1 * *"
7+
push:
8+
branches:
9+
- develop
10+
paths:
11+
- installers/**
12+
13+
jobs:
14+
pushMultiArch:
15+
name: "Build installers multiarch: ${{ matrix.tag }}"
16+
runs-on: ubuntu-latest
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
tag:
21+
- alpine
22+
steps:
23+
- uses: actions/checkout@v4
24+
25+
- uses: docker/setup-buildx-action@v6
26+
with:
27+
buildkitd-flags: --debug
28+
29+
- name: Setup QEMU for multiarch builds
30+
uses: docker/setup-qemu-action@v3
31+
with:
32+
platforms: arm64,amd64
33+
image: tonistiigi/binfmt:qemu-v7.0.0-28
34+
35+
- uses: docker/login-action@v3
36+
with:
37+
registry: ghcr.io
38+
username: ${{ github.repository_owner }}
39+
password: ${{ secrets.GITHUB_TOKEN }}
40+
41+
- uses: docker/build-push-action@v6
42+
with:
43+
context: ./installers
44+
file: ./installers/${{ matrix.tag }}/Dockerfile
45+
platforms: linux/amd64,linux/arm64
46+
push: true
47+
cache-from: type=gha
48+
cache-to: type=gha,mode=max
49+
tags: |
50+
ghcr.io/nodebytehosting/installers:${{ matrix.tag }}
51+
ghcr.io/nodebytehosting/installers:${{ matrix.tag }}-latest
52+
53+
pushAmd64:
54+
name: "Build installers amd64: ${{ matrix.tag }}"
55+
runs-on: ubuntu-latest
56+
strategy:
57+
fail-fast: false
58+
matrix:
59+
tag:
60+
- debian
61+
steps:
62+
- uses: actions/checkout@v4
63+
64+
- uses: docker/setup-buildx-action@v6
65+
with:
66+
buildkitd-flags: --debug
67+
68+
- uses: docker/login-action@v3
69+
with:
70+
registry: ghcr.io
71+
username: ${{ github.repository_owner }}
72+
password: ${{ secrets.GITHUB_TOKEN }}
73+
74+
- uses: docker/build-push-action@v6
75+
with:
76+
context: ./installers
77+
file: ./installers/${{ matrix.tag }}/Dockerfile
78+
platforms: linux/amd64
79+
push: true
80+
cache-from: type=gha
81+
cache-to: type=gha,mode=max
82+
tags: |
83+
ghcr.io/nodebytehosting/installers:${{ matrix.tag }}
84+
ghcr.io/nodebytehosting/installers:${{ matrix.tag }}-latest

.github/workflows/java.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: build java
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 0 1 * *"
7+
push:
8+
branches:
9+
- develop
10+
paths:
11+
- java/**
12+
13+
jobs:
14+
push:
15+
name: "Build java: ${{ matrix.tag }}"
16+
runs-on: ubuntu-latest
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
tag:
21+
- 25
22+
steps:
23+
- uses: actions/checkout@v4
24+
25+
- uses: docker/setup-qemu-action@v3
26+
with:
27+
platforms: amd64,arm64
28+
image: tonistiigi/binfmt:qemu-v7.0.0-28
29+
30+
- uses: docker/setup-buildx-action@v6
31+
with:
32+
buildkitd-flags: --debug
33+
34+
- uses: docker/login-action@v3
35+
with:
36+
registry: ghcr.io
37+
username: ${{ github.repository_owner }}
38+
password: ${{ secrets.GITHUB_TOKEN }}
39+
40+
- uses: docker/build-push-action@v6
41+
with:
42+
context: ./java
43+
file: ./java/${{ matrix.tag }}/Dockerfile
44+
platforms: linux/amd64,linux/arm64
45+
push: true
46+
cache-from: type=gha
47+
cache-to: type=gha,mode=max
48+
tags: |
49+
ghcr.io/nodebytehosting/java:java_${{ matrix.tag }}
50+
ghcr.io/nodebytehosting/java:java_${{ matrix.tag }}-latest

.github/workflows/nodejs.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,8 @@ jobs:
3232
fail-fast: false
3333
matrix:
3434
version:
35-
- "12"
36-
- "14"
37-
- "16"
38-
- "18"
3935
- "20"
36+
- "22"
4037

4138
steps:
4239
- name: Checkout code

.github/workflows/oses.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: build oses
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 0 1 * *"
7+
push:
8+
branches:
9+
- develop
10+
paths:
11+
- oses/**
12+
13+
jobs:
14+
push:
15+
name: "Build oses: ${{ matrix.oses }}"
16+
runs-on: ubuntu-latest
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
oses:
21+
- alpine
22+
- debian
23+
steps:
24+
- uses: actions/checkout@v4
25+
26+
- uses: docker/setup-qemu-action@v3
27+
with:
28+
platforms: amd64,arm64
29+
image: tonistiigi/binfmt:qemu-v7.0.0-28
30+
31+
- uses: docker/setup-buildx-action@v6
32+
with:
33+
buildkitd-flags: --debug
34+
35+
- uses: docker/login-action@v3
36+
with:
37+
registry: ghcr.io
38+
username: ${{ github.repository_owner }}
39+
password: ${{ secrets.GITHUB_TOKEN }}
40+
41+
- uses: docker/build-push-action@v6
42+
with:
43+
context: ./oses/${{ matrix.oses }}
44+
file: ./oses/${{ matrix.oses }}/Dockerfile
45+
platforms: linux/amd64,linux/arm64
46+
push: true
47+
cache-from: type=gha
48+
cache-to: type=gha,mode=max
49+
tags: |
50+
ghcr.io/nodebytehosting/oses:${{ matrix.oses }}
51+
ghcr.io/nodebytehosting/oses:${{ matrix.oses }}-latest

.github/workflows/python.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: Build Python
2+
3+
on:
4+
workflow_dispatch:
5+
6+
schedule:
7+
- cron: "0 0 1 * *"
8+
9+
push:
10+
branches:
11+
- main
12+
- develop
13+
paths:
14+
- 'python/**'
15+
- '.github/workflows/python.yml'
16+
17+
release:
18+
types: [published]
19+
20+
env:
21+
REGISTRY: ghcr.io
22+
23+
jobs:
24+
build:
25+
name: "python:${{ matrix.version }}"
26+
runs-on: ubuntu-latest
27+
permissions:
28+
contents: read
29+
packages: write
30+
31+
strategy:
32+
fail-fast: false
33+
matrix:
34+
version:
35+
- "3.7"
36+
- "3.8"
37+
- "3.9"
38+
39+
steps:
40+
- name: Checkout code
41+
uses: actions/checkout@v4
42+
43+
- name: Set lowercase repository owner
44+
id: owner
45+
run: |
46+
echo "value=$(echo '${{ github.repository_owner }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT
47+
48+
- name: Check if Dockerfile exists
49+
id: check
50+
run: |
51+
if [ -f "./python/${{ matrix.version }}/Dockerfile" ]; then
52+
echo "exists=true" >> $GITHUB_OUTPUT
53+
else
54+
echo "exists=false" >> $GITHUB_OUTPUT
55+
fi
56+
57+
- name: Set up QEMU
58+
if: steps.check.outputs.exists == 'true'
59+
uses: docker/setup-qemu-action@v3
60+
61+
- name: Set up Docker Buildx
62+
if: steps.check.outputs.exists == 'true'
63+
uses: docker/setup-buildx-action@v3
64+
65+
- name: Login to GHCR
66+
if: steps.check.outputs.exists == 'true'
67+
uses: docker/login-action@v3
68+
with:
69+
registry: ghcr.io
70+
username: ${{ github.repository_owner }}
71+
password: ${{ secrets.GITHUB_TOKEN }}
72+
73+
- name: Generate tags
74+
if: steps.check.outputs.exists == 'true'
75+
id: tags
76+
run: |
77+
OWNER="${{ steps.owner.outputs.value }}"
78+
VERSION="${{ matrix.version }}"
79+
TAGS="${{ env.REGISTRY }}/$OWNER/python:python_$VERSION"
80+
81+
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
82+
TAGS="$TAGS,${{ env.REGISTRY }}/$OWNER/python:latest"
83+
elif [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then
84+
TAGS="$TAGS,${{ env.REGISTRY }}/$OWNER/python:python_$VERSION-dev"
85+
elif [[ "${{ github.ref }}" == refs/tags/* ]]; then
86+
REL_TAG="${{ github.ref_name }}"
87+
TAGS="$TAGS,${{ env.REGISTRY }}/$OWNER/python:python_$VERSION-$REL_TAG"
88+
fi
89+
90+
echo "tags=$TAGS" >> $GITHUB_OUTPUT
91+
92+
- name: Build and push
93+
if: steps.check.outputs.exists == 'true'
94+
uses: docker/build-push-action@v6
95+
with:
96+
context: ./python
97+
file: ./python/${{ matrix.version }}/Dockerfile
98+
push: true
99+
platforms: linux/amd64,linux/arm64
100+
tags: ${{ steps.tags.outputs.tags }}
101+
cache-from: type=gha
102+
cache-to: type=gha,mode=max

0 commit comments

Comments
 (0)