release #52
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: release | |
on: | |
workflow_dispatch: | |
inputs: | |
release_tag: | |
description: 'release tag' | |
required: true | |
release_title: | |
description: 'release title' | |
required: false | |
release_notes: | |
description: 'release notes' | |
required: false | |
default: '' | |
jobs: | |
create_release: | |
name: create_release | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v1 | |
with: | |
qemu-version: '6.0.0' | |
- name: Build go binary for pause | |
run : ./../../build/go-multiarch-build.sh "go build -o ./../../build/_output/pause-linux" | |
working-directory: custom/pause | |
- name: Build go binary for nsutil | |
run : ./../../build/go-multiarch-build.sh "go build -o ./../../build/_output/nsutil-linux" | |
working-directory: custom/nsutil | |
- name: Build shared libraries for nsutil amd64 | |
run: gcc -shared -fPIC nsutil.c -o ./../../build/_output/nsutil_amd64.so | |
working-directory: custom/nsutil | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- name: Build arm64 Docker image | |
run: docker buildx build --platform linux/arm64 -t myapp-arm64 --load . | |
working-directory: custom/nsutil | |
- name: Extract compiled binary | |
run: docker create --name myapp-arm64-container myapp-arm64 && docker cp myapp-arm64-container:/app/nsutil.so ./../../build/_output/nsutil_arm64.so | |
working-directory: custom/nsutil | |
- name: Build go binary for promql-cli | |
run : | | |
cp custom/promql-cli/promql-linux-amd64 build/_output/ | |
cp custom/promql-cli/promql-linux-arm64 build/_output/ | |
- name: Build go binary for dns_interceptor | |
run : go build -o ./../../build/_output/dns_interceptor | |
working-directory: custom/dns_interceptor | |
- name: create release along with artifact | |
uses: ncipollo/release-action@v1 | |
with: | |
artifacts: "build/_output/*" | |
body: "${{ github.event.inputs.release_notes }}" | |
token: ${{ secrets.GITHUB_TOKEN }} | |
name: "${{ github.event.inputs.release_title }}" | |
tag: ${{ github.event.inputs.release_tag }} | |
push: | |
runs-on: ubuntu-20.04 | |
needs: create_release | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v1 | |
with: | |
platforms: all | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v1 | |
with: | |
version: latest | |
- name: Login to Docker Hub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DNAME }} | |
password: ${{ secrets.DPASS }} | |
- name: Build and push experiment-alpine | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/hardened-alpine/experiment/Dockerfile | |
platforms: linux/amd64,linux/arm64 | |
build-args: LITMUS_VERSION=${{ github.event.inputs.release_tag }} | |
tags: litmuschaos/experiment-alpine:${{ github.event.inputs.release_tag }},litmuschaos/experiment-alpine:latest | |
- name: Build and push infra-alpine | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/hardened-alpine/infra/Dockerfile | |
platforms: linux/amd64,linux/arm64 | |
tags: litmuschaos/infra-alpine:${{ github.event.inputs.release_tag }},litmuschaos/infra-alpine:latest | |
- name: Build and push k8s | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/k8s/Dockerfile | |
context: custom/k8s | |
platforms: linux/amd64,linux/arm64 | |
tags: litmuschaos/k8s:${{ github.event.inputs.release_tag }},litmuschaos/k8s:latest | |
- name: Build and push curl | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/curl/Dockerfile | |
context: custom/curl | |
platforms: linux/amd64,linux/arm64 | |
tags: litmuschaos/curl:${{ github.event.inputs.release_tag }},litmuschaos/curl:latest | |
- name: Build and push litmus-checker | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/litmus-checker/Dockerfile | |
context: custom/litmus-checker | |
platforms: linux/amd64,linux/arm64 | |
tags: litmuschaos/litmus-checker:${{ github.event.inputs.release_tag }},litmuschaos/litmus-checker:latest | |
- name: Build and push litmus-app-deployer | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/workflow-helper/app-deployer/Dockerfile | |
context: custom/workflow-helper/app-deployer | |
platforms: linux/amd64,linux/arm64 | |
tags: litmuschaos/litmus-app-deployer:${{ github.event.inputs.release_tag }},litmuschaos/litmus-app-deployer:latest | |
- name: Build and push litmus-git-app-checker | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/workflow-helper/app-checker/Dockerfile | |
context: custom/workflow-helper/app-checker | |
platforms: linux/amd64,linux/arm64 | |
tags: litmuschaos/litmus-git-app-checker:${{ github.event.inputs.release_tag }},litmuschaos/litmus-git-app-checker:latest | |
- name: Build and push mongo-utils | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/mongo-utils/Dockerfile | |
context: custom/mongo-utils/ | |
platforms: linux/amd64,linux/arm64 | |
tags: litmuschaos/mongo-utils:${{ github.event.inputs.release_tag }},litmuschaos/mongo-utils:latest | |
- name: Build and push litmus-helm-agent | |
uses: docker/build-push-action@v2 | |
with: | |
push: true | |
file: custom/litmus-helm-agent/Dockerfile | |
context: custom/litmus-helm-agent/ | |
platforms: linux/amd64,linux/arm64 | |
tags: litmuschaos/litmus-helm-agent:${{ github.event.inputs.release_tag }},litmuschaos/litmus-helm-agent:latest |