Skip to content

auth-server: add logger #299

auth-server: add logger

auth-server: add logger #299

Workflow file for this run

name: Release naisdevice
on:
push:
branches:
- master
tags:
- "*"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
go_version: '1.21.4'
jobs:
test:
strategy:
fail-fast: false
matrix:
os: ["ubuntu-22.04", "macOS-latest"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions/setup-go@v4
with:
go-version: ${{ env.go_version }}
- if: matrix.os == 'ubuntu-22.04'
run: |
sudo apt update
sudo apt remove --yes libappindicator3-dev
sudo apt install --yes build-essential libgtk-3-dev libayatana-appindicator3-dev
- run: "make test"
- run: "make check"
- run: "go vet ./..."
set-version:
runs-on: ubuntu-22.04
outputs:
version: ${{ steps.set-version.outputs.version }}
steps:
- uses: actions/checkout@v3
- name: set version
id: set-version
run: echo "version=${GITHUB_REF#refs/*/}" >> ${GITHUB_OUTPUT}
build-windows:
needs:
- set-version
runs-on: ubuntu-22.04
strategy:
matrix:
include:
- gotags: ""
output-suffix: ""
- gotags: "tenant"
output-suffix: "-tenant"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: ${{ env.go_version }}
- name: build binaries and installer
env:
MSI_SIGN_CERT: "${{ secrets.MSI_SIGN_CERT }}"
MSI_SIGN_KEY: "${{ secrets.MSI_SIGN_KEY }}"
run: |
sudo apt update
sudo apt install --yes nsis osslsigncode
echo "${MSI_SIGN_CERT}" > packaging/windows/naisdevice.crt
echo "${MSI_SIGN_KEY}" > packaging/windows/naisdevice.key
make nsis GOTAGS=${{ matrix.gotags }} VERSION=${{ needs.set-version.outputs.version }}
md5sum bin/windows-client/*
md5sum packaging/windows/naisdevice.exe
- name: upload windows-client
uses: actions/upload-artifact@v3
with:
name: windows-client${{ matrix.output-suffix }}
path: bin/windows-client
if-no-files-found: error
- name: upload windows-installer
uses: actions/upload-artifact@v3
with:
name: windows-installer${{ matrix.output-suffix }}
path: packaging/windows/naisdevice.exe
if-no-files-found: error
build-macos:
strategy:
matrix:
include:
- gotags: ""
output-suffix: ""
- gotags: "tenant"
output-suffix: "-tenant"
needs:
- set-version
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: ${{ env.go_version }}
- name: Import Code-Signing Certificates
uses: Apple-Actions/import-codesign-certs@v2
with:
p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
- name: build pkg
env:
AC_USERNAME: ${{ secrets.AC_USERNAME }}
AC_PASSWORD: ${{ secrets.AC_PASSWORD }}
run: |
make pkg GOTAGS=${{ matrix.gotags }} VERSION=${{ needs.set-version.outputs.version }}
md5 bin/macos-client/*
md5 naisdevice.pkg
- name: upload pkg
uses: actions/upload-artifact@v3
with:
name: pkg${{ matrix.output-suffix }}
path: naisdevice.pkg
if-no-files-found: error
build-linux:
strategy:
matrix:
include:
- gotags: ""
output-suffix: ""
- gotags: "tenant"
output-suffix: "-tenant"
needs:
- set-version
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: ${{ env.go_version }}
- name: create debian package
env:
SUFFIX: "${{ matrix.output-suffix }}"
run: |
sudo apt update
sudo apt remove --yes libappindicator3-dev
sudo apt install --yes build-essential ruby ruby-dev rubygems libgtk-3-dev libayatana-appindicator3-dev
sudo gem install --no-document fpm -v 1.15.1
make deb GOTAGS=${{ matrix.gotags }} VERSION=${{ needs.set-version.outputs.version }}
md5sum naisdevice*.deb
- name: upload debian package
uses: actions/upload-artifact@v3
with:
name: deb${{ matrix.output-suffix }}
path: naisdevice*.deb
if-no-files-found: error
new_release:
if: startsWith(github.ref, 'refs/tags/')
needs:
- set-version
- test
- build-macos
- build-windows
- build-linux
runs-on: ubuntu-22.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- name: create release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ needs.set-version.outputs.version }}
release_name: Release ${{ needs.set-version.outputs.version }}
draft: false
prerelease: false
release:
if: startsWith(github.ref, 'refs/tags/')
strategy:
matrix:
output-suffix: ["", "-tenant"]
needs:
- set-version
- test
- build-macos
- build-windows
- build-linux
- new_release
runs-on: ubuntu-22.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: download windows installer
uses: actions/download-artifact@v3
with:
name: windows-installer${{ matrix.output-suffix }}
- name: Calculate checksum
run: |
sha256sum naisdevice.exe | awk {'print $1}' > naisdevice.exe.sha256
- name: upload naisdevice.exe
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ needs.new_release.outputs.upload_url }}
asset_path: ./naisdevice.exe
asset_name: naisdevice${{ matrix.output-suffix }}.exe
asset_content_type: application/octet-stream
- name: upload naisdevice.exe.sha256
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ needs.new_release.outputs.upload_url }}
asset_path: ./naisdevice.exe.sha256
asset_name: naisdevice${{ matrix.output-suffix }}.exe.sha256
asset_content_type: text/plain
- name: download pkg
uses: actions/download-artifact@v3
with:
name: pkg${{ matrix.output-suffix }}
- name: Calculate checksum
run: |
sha256sum naisdevice.pkg | awk {'print $1}' > naisdevice.pkg.sha256
- name: upload macos pkg to release
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ needs.new_release.outputs.upload_url }}
asset_path: ./naisdevice.pkg
asset_name: naisdevice${{ matrix.output-suffix }}.pkg
asset_content_type: application/octet-stream
- name: upload macos pkg checksum to release
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ needs.new_release.outputs.upload_url }}
asset_path: ./naisdevice.pkg.sha256
asset_name: naisdevice${{ matrix.output-suffix }}.pkg.sha256
asset_content_type: text/plain
- name: download deb
uses: actions/download-artifact@v3
with:
name: deb${{ matrix.output-suffix }}
- name: upload debian package to release
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ needs.new_release.outputs.upload_url }}
asset_path: ./naisdevice${{ matrix.output-suffix }}_${{ needs.set-version.outputs.version }}_amd64.deb
asset_name: naisdevice${{ matrix.output-suffix }}.deb
asset_content_type: application/octet-stream