Files
deployment-source/.forgejo/workflows/render-and-commit.yaml
T
hurui200320 0cc8777911
Render stack / stack-test (push) Failing after 50s
add git credential
2025-06-09 15:24:20 +08:00

70 lines
2.4 KiB
YAML

name: "Render stack"
on:
push:
pull_request:
env:
DEBIAN_FRONTEND: noninteractive
TZ: UTC
DOCKER_HOST: "tcp://docker:2375"
DOCKER_TLS_VERIFY: ""
jobs:
stack-test:
runs-on: general
container:
image: ubuntu:24.04
services:
docker:
image: docker:dind
cmd:
- "dockerd"
- "-H" # we need this one to offer a docker socket to the job
- "tcp://0.0.0.0:2375"
- "-H" # we need this one to offer a docker socket on disk
- "unix:///var/run/docker.sock"
- "--tls=false"
steps:
# need to setup node and git
- run: |
apt-get update
apt-get install -y nodejs git curl jq age wget
wget https://github.com/getsops/sops/releases/download/v3.10.2/sops_3.10.2_amd64.deb
dpkg -i sops_3.10.2_amd64.deb
rm -f sops_3.10.2_amd64.deb
# check out code
- uses: actions/checkout@v4
with:
submodules: false
# setup docker
- name: set up docker cli
run: |
apt-get install -y ca-certificates curl dnsutils
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce-cli docker-buildx-plugin docker-compose-plugin
# render stack
- name: Render stack
run: |
./render-stack.sh
env:
SOPS_AGE_KEY: ${{ secrets.SOPS_AGE_KEY }}
- name: Commit to swarm-cd
run: |
branchName=deploy-"$(date +%s)"
git clone https://"$GIT_USERNAME":"$GIT_PASSWORD"@git.cleverthis.com/hurui200320/deployment-target.git
cd deployment-target
git checkout -b "$branchName"
cp ../compose.prod.yaml ./
git add compose.prod.yaml
git commit -m "Release deployment for $branchName"
git push -u origin "$branchName"
env:
GIT_USERNAME: ${{ secrets.GIT_USERNAME }}
GIT_PASSWORD: ${{ secrets.GIT_PASSWORD }}