netmaker/.github/workflows/test-artifacts.yml
2022-02-28 14:12:44 -05:00

118 lines
6.1 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Build artifacts for deployment testing
on:
push:
branches:
- 'testing'
workflow_dispatch:
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push test
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/amd64
push: true
tags: ghcr.io/${{ github.repository }}:testing
build-args: version=testing
docker-netclient:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push test
uses: docker/build-push-action@v2
with:
context: .
platforms: linux/amd64, linux/arm64
file: ./docker/Dockerfile-netclient-multi-arch
push: true
tags: ghcr.io/gravitl/netclient:testing
build-args: version=testing
netclient:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: build client
run: |
cd netclient
go build -ldflags="-X 'main.version=testing'" -o build/netclient
- name: deploy
uses: mdallasanta/ssh-scp-deploy@v1.1.0
with:
local: ./netclient/build/netclient # Local file path - REQUIRED false - DEFAULT ./
remote: /var/www/files/testing/ # Remote file path - REQUIRED false - DEFAULT ~/
host: fileserver.clustercat.com # Remote server address - REQUIRED true
#port: ${{secrets.PORT}} # Remote server port - REQUIRED false - DEFAULT 22
user: root # Remote server user - REQUIRED true
#password: ${{secrets.PASSWORD}} # User password - REQUIRED at least one of "password" or "key"
key: ${{secrets.TESTING_SSH_KEY}} # Remote server private key - REQUIRED at least one of "password" or "key"
#pre_upload: echo "This will be executed before the upload!" # Command to run via ssh before scp upload - REQUIRED false
#post_upload: echo "This will be executed after the upload!" # Command to run via ssh after scp upload - REQUIRED false
#ssh_options: -o StrictHostKeyChecking=no # A set of ssh_option separated by -o - REQUIRED false - DEFAULT -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
#scp_options: -v # Flags to use during scp - REQUIRED false - DEFAULT ''
netmaker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Go
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: build server
run:
go build -ldflags="-X 'main.version=testing'" -o build/netmaker
- name: deploy
uses: mdallasanta/ssh-scp-deploy@v1.1.0
with:
local: ./build/netmaker # Local file path - REQUIRED false - DEFAULT ./
remote: /var/www/files/testing/ # Remote file path - REQUIRED false - DEFAULT ~/
host: fileserver.clustercat.com # Remote server address - REQUIRED true
#port: ${{secrets.PORT}} # Remote server port - REQUIRED false - DEFAULT 22
user: root # Remote server user - REQUIRED true
#password: ${{secrets.PASSWORD}} # User password - REQUIRED at least one of "password" or "key"
key: ${{secrets.TESTING_SSH_KEY}} # Remote server private key - REQUIRED at least one of "password" or "key"
#pre_upload: echo "This will be executed before the upload!" # Command to run via ssh before scp upload - REQUIRED false
#post_upload: echo "This will be executed after the upload!" # Command to run via ssh after scp upload - REQUIRED false
#ssh_options: -o StrictHostKeyChecking=no # A set of ssh_option separated by -o - REQUIRED false - DEFAULT -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
#scp_options: -v # Flags to use during scp - REQUIRED false - DEFAULT ''