Skip to content

Build and static tests #115

Build and static tests

Build and static tests #115

Workflow file for this run

name: Build and static tests
on:
push:
# Don't run if only the .md -file is changed
paths-ignore:
- '**/*.md'
workflow_dispatch:
schedule:
# Once week 02:20 on Saturday
- cron: '20 2 * * Sun'
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: edge-proxy-build-'${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
go-build-and-checks:
strategy:
matrix:
golang-ver: ["1.19", "1.20", "1.21", "1.22"]
runs-on: ["self-hosted", "client"]
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up golang
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.golang-ver }}
- name: Check out scripts-internal repo
uses: actions/checkout@v4
with:
repository: PelionIoT/scripts-internal
path: scripts-internal
token: ${{ secrets.ACCESS_TOKEN }}
- run: go version
- run: |
sudo apt-get update && \
DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y golint
- name: Build all
run: scripts-internal/golang/go_build_script.sh
- name: Run go vet
run: scripts-internal/golang/go_vet_script.sh --all
- name: Run go lint
run: "scripts-internal/golang/golint_script.sh --all"
- name: Run pysh-check
run: |
sudo apt-get update && sudo apt-get install -y pycodestyle pydocstyle black shellcheck
echo "." >scripts-internal/.nopyshcheck
echo "." >vendor/.nopyshcheck
scripts-internal/pysh-check/pysh-check.sh --workdir .
- name: Cleanup
run: rm -rf scripts-internal
- name: Post status to Slack testing_builds
if: always()
uses: act10ns/slack@v2
with:
status: ${{ job.status }}
channel: '#testing_builds'