Skip to content

Commit 31a3054

Browse files
committed
Remove loong64
1 parent 1447a08 commit 31a3054

File tree

2 files changed

+153
-3
lines changed

2 files changed

+153
-3
lines changed
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
name: Build and Push Docker Image for Loong64
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- master
8+
- develop
9+
tags:
10+
- 'v*.*.*'
11+
12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
14+
cancel-in-progress: true
15+
16+
env:
17+
DOCKER_REGISTRY: index.docker.io
18+
DOCKER_USERNAME: metacall
19+
IMAGE_NAME: core
20+
BUILDKIT_VERSION: 0.13.0
21+
PLATFORM: linux/loong64
22+
23+
jobs:
24+
build:
25+
name: Build Loong64 Images
26+
runs-on: ubuntu-latest
27+
steps:
28+
- name: Checkout Repository
29+
uses: actions/checkout@v4
30+
with:
31+
fetch-depth: 0
32+
33+
- name: Set up QEMU
34+
uses: docker/setup-qemu-action@v3
35+
36+
- name: Set up Docker BuildX
37+
uses: docker/setup-buildx-action@v3
38+
with:
39+
version: v${{ env.BUILDKIT_VERSION }}
40+
41+
- name: Login to Docker Hub
42+
uses: docker/login-action@v3
43+
with:
44+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
45+
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
46+
47+
- name: Build and Push deps Image
48+
env:
49+
METACALL_PLATFORM: ${{ env.PLATFORM }}
50+
DOCKER_BUILDKIT: 1
51+
run: |
52+
./docker-compose.sh platform deps
53+
platform_tag=$(echo "${{ env.PLATFORM }}" | tr '/' '-')
54+
docker tag \
55+
${DOCKER_USERNAME}/${IMAGE_NAME}:deps \
56+
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:deps-${platform_tag}
57+
docker push ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:deps-${platform_tag}
58+
59+
- name: Build and Push dev Image
60+
env:
61+
METACALL_PLATFORM: ${{ env.PLATFORM }}
62+
DOCKER_BUILDKIT: 1
63+
run: |
64+
./docker-compose.sh platform dev
65+
platform_tag=$(echo "${{ env.PLATFORM }}" | tr '/' '-')
66+
docker tag \
67+
${DOCKER_USERNAME}/${IMAGE_NAME}:dev \
68+
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:dev-${platform_tag}
69+
docker push ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:dev-${platform_tag}
70+
71+
- name: Build and Push runtime Image
72+
env:
73+
METACALL_PLATFORM: ${{ env.PLATFORM }}
74+
DOCKER_BUILDKIT: 1
75+
run: |
76+
./docker-compose.sh platform runtime
77+
platform_tag=$(echo "${{ env.PLATFORM }}" | tr '/' '-')
78+
docker tag \
79+
${DOCKER_USERNAME}/${IMAGE_NAME}:runtime \
80+
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:runtime-${platform_tag}
81+
docker push ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:runtime-${platform_tag}
82+
83+
- name: Build and Push cli Image
84+
env:
85+
METACALL_PLATFORM: ${{ env.PLATFORM }}
86+
DOCKER_BUILDKIT: 1
87+
run: |
88+
./docker-compose.sh platform cli
89+
platform_tag=$(echo "${{ env.PLATFORM }}" | tr '/' '-')
90+
docker tag \
91+
${DOCKER_USERNAME}/${IMAGE_NAME}:cli \
92+
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:cli-${platform_tag}
93+
docker push ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:cli-${platform_tag}
94+
95+
- name: Run Tests
96+
env:
97+
DOCKER_BUILDKIT: 1
98+
run: |
99+
set -exuo pipefail
100+
docker image inspect ${DOCKER_USERNAME}/${IMAGE_NAME}:cli --format='{{.Os}}/{{.Architecture}}'
101+
cat <<EOF > Dockerfile.test
102+
FROM ${DOCKER_USERNAME}/${IMAGE_NAME}:cli
103+
RUN apt-get update && apt-get install -y file
104+
RUN file /usr/local/bin/metacallcli && ldd /usr/local/bin/metacallcli
105+
RUN echo "console.log('0123456789abcdef')" > script.js
106+
RUN metacallcli script.js | tee output.txt
107+
RUN grep 0123456789abcdef output.txt
108+
EOF
109+
110+
docker buildx build --progress=plain --platform ${{ env.PLATFORM }} -f Dockerfile.test -t test-image .
111+
112+
manifest:
113+
name: Update Manifest Lists
114+
needs: build
115+
# Only run when master or when tagging a version
116+
if: (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')) && github.event_name != 'pull_request'
117+
runs-on: ubuntu-latest
118+
steps:
119+
- name: Login to Docker Hub
120+
uses: docker/login-action@v3
121+
with:
122+
username: ${{ secrets.DOCKER_HUB_USERNAME }}
123+
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
124+
125+
- name: Update Manifest Lists
126+
run: |
127+
set -exuo pipefail
128+
platform_tag=$(echo "${{ env.PLATFORM }}" | tr '/' '-')
129+
130+
# Update manifests for each tag
131+
for tag in "deps" "dev" "runtime" "cli"; do
132+
docker manifest create ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${tag} \
133+
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${tag}-${platform_tag} --amend
134+
docker manifest push ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${tag}
135+
done
136+
137+
# Update latest tag
138+
docker manifest create ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:latest \
139+
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:cli-${platform_tag} --amend
140+
docker manifest push ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:latest
141+
142+
# Update version tag if this is a release
143+
if [[ "${{ startsWith(github.ref, 'refs/tags/') }}" = true ]]; then
144+
VERSION=${GITHUB_REF#refs/tags/v}
145+
for tag in "deps" "dev" "runtime" "cli"; do
146+
docker manifest create ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${VERSION}-${tag} \
147+
${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${tag}-${platform_tag} --amend
148+
docker manifest push ${DOCKER_REGISTRY}/${DOCKER_USERNAME}/${IMAGE_NAME}:${VERSION}-${tag}
149+
done
150+
fi

.github/workflows/docker-hub.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
branches:
77
- master
88
- develop
9+
- yash/develop
910
tags:
1011
- 'v*.*.*'
1112

@@ -15,7 +16,7 @@ concurrency:
1516

1617
env:
1718
DOCKER_REGISTRY: index.docker.io
18-
DOCKER_USERNAME: metacall
19+
DOCKER_USERNAME: mryash
1920
IMAGE_NAME: core
2021
BUILDKIT_VERSION: 0.13.0
2122

@@ -34,8 +35,7 @@ env:
3435
"linux/riscv64",
3536
"linux/ppc64le",
3637
"linux/arm/v7",
37-
"linux/arm/v6",
38-
"linux/loong64"
38+
"linux/arm/v6"
3939
]
4040
4141
jobs:

0 commit comments

Comments
 (0)