fix: go mod revendor #3
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy docker production | |
'on': | |
push: | |
tags: | |
- '*' | |
- '!*-*' | |
workflow_dispatch: {} | |
jobs: | |
build-arm64: | |
name: Build arm64 | |
runs-on: ubuntu-22.04 | |
env: | |
DOCKER_HOST: ssh://root@darkbot | |
steps: | |
- name: Check out source repository | |
uses: actions/checkout@v4 | |
- name: Get version from tag | |
run: | | |
set -x | |
echo "BUILD_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
id: version | |
- name: Docker login | |
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username darkwind8 --password-stdin | |
- name: Install Darklab ssh key | |
run: | | |
mkdir ~/.ssh | true | |
echo "${{ secrets.SSH_KEY_BASE64 }}" | base64 --decode > ~/.ssh/id_rsa | |
echo "Host darkbot" > ~/.ssh/config | |
echo " HostName 37.27.207.42" >> ~/.ssh/config | |
echo " User root" >> ~/.ssh/config | |
echo " IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config | |
echo " IdentitiesOnly yes" >> ~/.ssh/config | |
chmod 700 ~/.ssh | |
chmod 600 ~/.ssh/* | |
ssh-keyscan -H 37.27.207.42 >> ~/.ssh/known_hosts | true | |
ssh-keyscan -H darkbot >> ~/.ssh/known_hosts | true | |
- name: Build image darkwind8/darkbot | |
run: | | |
set -ex | |
export tag_version=${{ steps.version.outputs.BUILD_VERSION }} | |
docker build --build-arg "BUILD_VERSION=${tag_version}-arm64" --tag darkwind8/darkbot:${tag_version}-arm64 . | |
docker tag darkwind8/darkbot:${tag_version}-arm64 darkwind8/darkbot:production-arm64 | |
docker push darkwind8/darkbot:${tag_version}-arm64 | |
sleep 5 | |
docker push darkwind8/darkbot:production-arm64 | |
sleep 5 | |
build-amd64: | |
name: Build amd64 | |
runs-on: ubuntu-22.04 | |
env: | |
DOCKER_HOST: unix:///var/run/docker.sock | |
steps: | |
- name: Check out source repository | |
uses: actions/checkout@v4 | |
- name: Get version from tag | |
run: | | |
set -x | |
echo "BUILD_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
id: version | |
- name: Docker login | |
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username darkwind8 --password-stdin | |
- name: Install Darklab ssh key | |
run: | | |
mkdir ~/.ssh | true | |
echo "${{ secrets.SSH_KEY_BASE64 }}" | base64 --decode > ~/.ssh/id_rsa | |
echo "Host darkbot" > ~/.ssh/config | |
echo " HostName 37.27.207.42" >> ~/.ssh/config | |
echo " User root" >> ~/.ssh/config | |
echo " IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config | |
echo " IdentitiesOnly yes" >> ~/.ssh/config | |
chmod 700 ~/.ssh | |
chmod 600 ~/.ssh/* | |
ssh-keyscan -H 37.27.207.42 >> ~/.ssh/known_hosts | true | |
ssh-keyscan -H darkbot >> ~/.ssh/known_hosts | true | |
- name: Build image darkwind8/darkbot | |
run: | | |
set -ex | |
export tag_version=${{ steps.version.outputs.BUILD_VERSION }} | |
docker build --build-arg "BUILD_VERSION=${tag_version}-amd64" --tag darkwind8/darkbot:${tag_version}-amd64 . | |
docker tag darkwind8/darkbot:${tag_version}-amd64 darkwind8/darkbot:production-amd64 | |
docker push darkwind8/darkbot:${tag_version}-amd64 | |
sleep 5 | |
docker push darkwind8/darkbot:production-amd64 | |
sleep 5 | |
deploy: | |
name: Join And Deploy | |
runs-on: ubuntu-22.04 | |
env: | |
DOCKER_HOST: ssh://root@darkbot | |
steps: | |
- name: Get version from tag | |
run: | | |
set -x | |
echo "BUILD_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
id: version | |
- name: Docker login | |
run: echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login --username darkwind8 --password-stdin | |
- name: Install Darklab ssh key | |
run: | | |
mkdir ~/.ssh | true | |
echo "${{ secrets.SSH_KEY_BASE64 }}" | base64 --decode > ~/.ssh/id_rsa | |
echo "Host darkbot" > ~/.ssh/config | |
echo " HostName 37.27.207.42" >> ~/.ssh/config | |
echo " User root" >> ~/.ssh/config | |
echo " IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config | |
echo " IdentitiesOnly yes" >> ~/.ssh/config | |
chmod 700 ~/.ssh | |
chmod 600 ~/.ssh/* | |
ssh-keyscan -H 37.27.207.42 >> ~/.ssh/known_hosts | true | |
ssh-keyscan -H darkbot >> ~/.ssh/known_hosts | true | |
- name: Manifest join image darkwind8/darkbot | |
run: | | |
set -ex | |
export tag_version=${{ steps.version.outputs.BUILD_VERSION }} | |
docker manifest create darkwind8/darkbot:${tag_version} --amend darkwind8/darkbot:${tag_version}-arm64 --amend darkwind8/darkbot:${tag_version}-amd64 | |
docker manifest push darkwind8/darkbot:${tag_version} | |
docker manifest create darkwind8/darkbot:production --amend darkwind8/darkbot:${tag_version}-arm64 --amend darkwind8/darkbot:${tag_version}-amd64 | |
docker manifest push darkwind8/darkbot:production | |
- name: Switch service image darkwind8/darkbot for swarm to new one | |
run: | | |
set -ex | |
docker pull darkwind8/darkbot:production | |
sleep 5 | |
docker service update --image darkwind8/darkbot:production production-darkbot-app | |
needs: | |
- build-arm64 | |
- build-amd64 |