test new CI pipeline workflow in the org repo, with a bunch of ENV vars

This commit is contained in:
DAI Mingchen
2024-07-25 10:01:24 +00:00
repo.diff.parent faf7f51d85
repo.diff.commit 046ff63e42
repo.diff.stats_desc%!(EXTRA int=3, int=65, int=49)

repo.diff.view_file

@@ -1,46 +0,0 @@
#
# Add secrets of Remote Git Repository Panel:
# - ${{ secrets.DOCKER_REGISTRY_PASSWORD }}: password corresponding to the Docker Registry username
# Add variables of Remote Git Repository Panel:
# - ${{ vars.DOCKER_REGISTRY_ADDRESS }}: the address for Docker Registry
# - ${{ vars.DOCKER_REGISTRY_USERNAME }}: the username for Docker Registry
# - ${{ vars.K8S_NAMESPACE }}: the namespace defined in Helm Chart
# - ${{ vars.K8S_DEPLOYMENT_NAME}}: the Deployment to rolled out restart after pushing artifact to Docker Registry
name: Deploy DevStar Studio PoC (Proof of Concept)
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build-and-push-x86-64-docker-image:
runs-on: ubuntu-latest
steps:
- name: 🔍 Check out repository code
uses: actions/checkout@v4
with:
ref: master
- name: 🔧 Test Codes and Build an Artifact
run: |
echo "Prepare to build repository code ${{ gitea.repository }}:${{ gitea.ref }}."
make docker
- name: 🚀 Push Artifact to Docker Registry
run: |
docker tag devstar-studio:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REGISTRY_USERNAME }}/devstar-studio-preview:latest-rootless
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ vars.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin
docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REGISTRY_USERNAME }}/devstar-studio-preview:latest-rootless
if [ "$(docker volume ls -qf dangling=true)" ]; then
docker volume rm $(docker volume ls -qf dangling=true)
echo "Dangling docker volumes deleted."
fi
- name: 🔧 Roll out Update on Kubernetes
run: |
echo "Please manually execute: kubectl rollout restart deployment -n ${{ vars.K8S_NAMESPACE }} ${{ vars.K8S_DEPLOYMENT_NAME}}"
- name: 🍏 Job Status Report
run: echo "🍏 This job's status is ${{ job.status }}."

repo.diff.view_file

@@ -0,0 +1,62 @@
#
# Add secrets of Remote Git Repository Panel:
# - ${{ secrets.DOCKER_REGISTRY_USERNAME }}: username of Docker Registry
# - ${{ secrets.DOCKER_REGISTRY_PASSWORD }}: password corresponding to the Docker Registry username
# Add variables of Remote Git Repository Panel:
# - ${{ vars.DOCKER_REGISTRY_ADDRESS }}: the address for Docker Registry
# - ${{ vars.DOCKER_REPOSITORY_ARTIFACT}}: the artifact $name:$version, e.g., `devstar/devstar-studio:latest-rootless`
# - ${{ vars.K8S_NAMESPACE }}: the namespace defined in Helm Chart
# - ${{ vars.K8S_DEPLOYMENT_NAME}}: the Deployment to rolled out restart after pushing artifact to Docker Registry
name: DevStar Studio CI Pipeline
on:
push:
branches:
- dev
- dev-proof-of-concept
pull_request:
branches:
- master
jobs:
build-and-push-x86-64-docker-image:
# TODO: 使用私有 registry 绕过默认 docker.io
runs-on: ubuntu-latest # Actual image: docker.io/library/gitea/runner_image:ubuntu-latest
steps:
- name: 🔍 Check out repository code
uses: actions/checkout@v4
with:
ref: master
- name: 🔧 Test Codes and Build an Artifact
run: |
echo "Prepare to build repository code ${{ gitea.repository }}:${{ gitea.ref }}."
make docker
- name: 🚀 Push Artifact to Docker Registry
run: |
docker tag devstar-studio:latest ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT }}
echo "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_REGISTRY_USERNAME }} ${{ vars.DOCKER_REGISTRY_ADDRESS }} --password-stdin
docker push ${{ vars.DOCKER_REGISTRY_ADDRESS }}/${{ vars.DOCKER_REPOSITORY_ARTIFACT }}
- name: 🔧 Roll out Update on Kubernetes
run: |
echo "Please manually execute: kubectl rollout restart deployment -n ${{ vars.K8S_NAMESPACE }} ${{ vars.K8S_DEPLOYMENT_NAME}}"
- name: 🍏 Job Status Report
run: echo "🍏 This job's status is ${{ job.status }}."
#
# P.S.:
################################################################################
# 1. How to config runner:
# $ docker run \
# --name gitea-act-runner-repo-devstar-studio \
# -d \
# -e GITEA_INSTANCE_URL=https://www.mengning.net \
# -e GITEA_RUNNER_REGISTRATION_TOKEN=${YOUR_GITEA_RUNNER_REGISTRATION_TOKEN} \
# -v /var/run/docker.sock:/var/run/docker.sock \
# gitea/act_runner:latest
#
# 2. To clean the docker cache:
# $ docker builder prune --force
# $ if [ "$(docker volume ls -qf dangling=true)" ]; then docker volume rm $(docker volume ls -qf dangling=true); fi
#

repo.diff.view_file

@@ -1,8 +1,8 @@
ARG DOCKER_REGISTRY_ADDRESS="www.mengning.net"
ARG DOCKER_REGISTRY_USERNAME="daimingchen"
ARG DOCKER_REGISTRY_USERNAME="devstar"
ARG DEV_CONTAINER="gitea-devstar-dev-container:v1.0"
ARG RUNTIME_CONTAINER="gitea-devstar-runtime-container:v1.0"
ARG DEV_CONTAINER="gitea-dev-container:v1.0"
ARG RUNTIME_CONTAINER="gitea-runtime-container:v1.0"
###########################################################