Skip to content

Commit 2cb4179

Browse files
committed
Fix Release Workflow (#384)
1 parent 2169fa1 commit 2cb4179

File tree

1 file changed

+24
-28
lines changed

1 file changed

+24
-28
lines changed

.github/workflows/createRelease.yml

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,20 @@ jobs:
7070
git clone https://github.com/ikarus-project/ikarus-project.github.io.git
7171
cd ikarus-project.github.io
7272
git fetch origin gh-pages --depth=1
73+
git checkout -B gh-pages origin/gh-pages
7374
cp -R ../repo/build_docs/ .
7475
cp -R ../repo/ikarus/ .
7576
git config --local user.email "[email protected]"
7677
git config --local user.name "IkarusBot"
7778
cd build_docs/docs
7879
export MKDOCSOFFLINE=false
79-
mike deploy v$NEWVERSION --config-file mkdocs.insiders.yml
80-
mike deploy dev --config-file mkdocs.insiders.yml
80+
mike deploy v$NEWVERSION --config-file mkdocs.insiders.yml
81+
mike deploy dev --config-file mkdocs.insiders.yml
82+
cd ../../
8183
git remote set-url origin https://${{ secrets.ORGANIZATION_TOKEN }}@github.com/ikarus-project/ikarus-project.github.io.git
82-
git push origin gh-pages
84+
# Pull first to avoid non-fast-forward push issues
85+
git pull origin gh-pages --rebase
86+
git push origin gh-pages
8387
export MKDOCSOFFLINE=true
8488
8589
- uses: actions/cache@v4
@@ -104,7 +108,6 @@ jobs:
104108
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
105109
chmod a+r /etc/apt/keyrings/docker.gpg
106110
107-
# Add the repository to Apt sources:
108111
echo \
109112
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
110113
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
@@ -115,28 +118,27 @@ jobs:
115118
run: |
116119
docker system prune -af
117120
df -h # Optional: shows how much space was freed
118-
- name: Download, tag, push and save docker images for new release
119-
run: |
120-
docker pull ikarusproject/ikarus-dev:latest
121-
docker tag ikarusproject/ikarus-dev:latest ikarusproject/ikarus-dev:v$NEWVERSION
122-
123-
docker pull ikarusproject/ikarus-dev-gcc:latest
124-
docker tag ikarusproject/ikarus-dev-gcc:latest ikarusproject/ikarus-dev-gcc:v$NEWVERSION
125121
126-
docker pull ikarusproject/ikarus-dev-clang:latest
127-
docker tag ikarusproject/ikarus-dev-clang:latest ikarusproject/ikarus-dev-clang:$NEWVERSION
128-
129-
docker pull ikarusproject/ikarus:latest
130-
docker tag ikarusproject/ikarus:latest ikarusproject/ikarus:v$NEWVERSION
122+
- name: Pull, tag, push, and optionally save docker images one by one
123+
shell: bash
124+
run: |
125+
IMAGES=("ikarus-dev" "ikarus-dev-gcc" "ikarus-dev-clang" "ikarus" "ikarus-gcc" "ikarus-clang")
131126
132-
docker pull ikarusproject/ikarus-gcc:latest
133-
docker tag ikarusproject/ikarus-gcc:latest ikarusproject/ikarus-gcc:v$NEWVERSION
127+
for IMAGE in "${IMAGES[@]}"; do
128+
echo "Processing image: $IMAGE"
129+
docker pull ikarusproject/$IMAGE:latest
130+
docker tag ikarusproject/$IMAGE:latest ikarusproject/$IMAGE:v$NEWVERSION
131+
docker push ikarusproject/$IMAGE:v$NEWVERSION
134132
135-
docker pull ikarusproject/ikarus-clang:latest
136-
docker tag ikarusproject/ikarus-clang:latest ikarusproject/ikarus-clang:v$NEWVERSION
133+
if [[ "$IMAGE" == "ikarus" ]]; then
134+
docker save ikarusproject/$IMAGE:v$NEWVERSION > ikarus-docker-v$NEWVERSION.tar
135+
gzip -c9 ikarus-docker-v$NEWVERSION.tar > ikarus-docker-v$NEWVERSION.tar.gz
136+
fi
137137
138-
docker save ikarusproject/ikarus:v$NEWVERSION > ikarus-docker-v$NEWVERSION.tar
139-
gzip -c9 ikarus-docker-v$NEWVERSION.tar > ikarus-docker-v$NEWVERSION.tar.gz
138+
docker image rm ikarusproject/$IMAGE:latest || true
139+
docker image rm ikarusproject/$IMAGE:v$NEWVERSION || true
140+
echo "Done with $IMAGE"
141+
done
140142
141143
- name: Checkout ikarus-examples and create tag, push it, zip it
142144
run: |
@@ -156,12 +158,6 @@ jobs:
156158
cd ../ikarus-examples-v$NEWVERSION
157159
git push https://${{ secrets.ORGANIZATION_TOKEN }}@github.com/ikarus-project/ikarus-examples.git v$NEWVERSION
158160
cd ..
159-
docker push ikarusproject/ikarus-dev:v$NEWVERSION
160-
docker push ikarusproject/ikarus-dev-gcc:v$NEWVERSION
161-
docker push ikarusproject/ikarus-dev-clang:v$NEWVERSION
162-
docker push ikarusproject/ikarus:v$NEWVERSION
163-
docker push ikarusproject/ikarus-gcc:v$NEWVERSION
164-
docker push ikarusproject/ikarus-clang:v$NEWVERSION
165161
cd repo
166162
git push origin main
167163
git push origin v$NEWVERSION

0 commit comments

Comments
 (0)