Skip to content

Switch orijtech linters install source #1511

Switch orijtech linters install source

Switch orijtech linters install source #1511

Workflow file for this run

# Copyright 2020 Adam Chalkley
#
# https://github.com/atc0005/go-ci
#
# Licensed under the MIT License. See LICENSE file in the project root for
# full license information.
name: Build images
# Run builds for Pull Requests (new, updated)
# `synchronized` seems to equate to pushing new commits to a linked branch
# (whether force-pushed or not)
on:
#push:
pull_request:
types: [opened, synchronize]
# Allow workflow to be triggered manually.
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
workflow_dispatch:
jobs:
git_describe_semver:
name: Generate semantic release version using git-describe-semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 5
# https://docs.github.com/en/actions/using-jobs/defining-outputs-for-jobs
outputs:
# version: ${{ steps.git-describe-semver-approach5.outputs.version }}
version: ${{ steps.git-describe-semver.outputs.version }}
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with full history
uses: actions/checkout@v4
with:
# Needed in order to retrieve tags for use with semver calculations
fetch-depth: 0
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# https://github.com/choffmeister/git-describe-semver/issues/8
# https://github.com/choffmeister/git-describe-semver/blob/v0.3.11/action.yaml
# https://github.com/choffmeister/git-describe-semver/blob/v0.4.0/action.yaml
# - name: Record semantic version using git-describe-semver (approach 1)
# id: git-describe-semver-approach1
# uses: choffmeister/[email protected] # version of action
# with:
# fallback: v0.0.0
# drop-prefix: false
# prerelease-prefix: dev
# prerelease-suffix: ""
# prerelease-timestamped: false
# version: v0.3.11 # version of tool
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#example-of-setting-an-output-parameter
# https://stackoverflow.com/questions/59954185/github-action-split-long-command-into-multiple-lines
# https://github.com/actions/runner/issues/808
# https://github.com/moby/moby/issues/37366
# - name: Record semantic version using git-describe-semver (approach 2)
# id: git-describe-semver-approach2
# run: |
# echo -n "version=" >> "$GITHUB_OUTPUT"
# docker container run \
# --platform linux/amd64 \
# --rm \
# -t \
# -v $PWD:/code \
# -w /code \
# ghcr.io/choffmeister/git-describe-semver:0.3.11 \
# --fallback 'v0.0.0' \
# --drop-prefix=false \
# --prerelease-prefix 'dev' \
# --prerelease-suffix "" \
# --prerelease-timestamped=false \
# | tr -d '\r' >> "$GITHUB_OUTPUT"
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#example-of-setting-an-output-parameter
# https://stackoverflow.com/questions/59954185/github-action-split-long-command-into-multiple-lines
# https://github.com/actions/runner/issues/808
# https://github.com/moby/moby/issues/37366
# - name: Record semantic version using git-describe-semver (approach 3)
# id: git-describe-semver-approach3
# run: >-
# echo "version=$(
# docker container run
# --platform linux/amd64
# --rm
# -t
# -v $PWD:/code
# -w /code
# ghcr.io/choffmeister/git-describe-semver:0.3.11
# --fallback 'v0.0.0'
# --drop-prefix=false
# --prerelease-prefix 'dev'
# --prerelease-suffix ""
# --prerelease-timestamped=false
# | tr -d '\r'
# )" >> "$GITHUB_OUTPUT"
# - name: Record semantic version using git-describe-semver (approach 4)
# id: git-describe-semver-approach4
# run: |
# go install github.com/choffmeister/[email protected]
# echo -n "version=" >> "$GITHUB_OUTPUT"
# $HOME/go/bin/git-describe-semver \
# --fallback 'v0.0.0' \
# --drop-prefix=false \
# --prerelease-prefix 'dev' \
# --prerelease-suffix "" \
# --prerelease-timestamped=false \
# | tr -d '\r' >> "$GITHUB_OUTPUT"
# https://github.com/choffmeister/git-describe-semver/pkgs/container/git-describe-semver
# https://github.com/choffmeister/git-describe-semver/blob/v0.3.11/action.yaml
# https://github.com/choffmeister/git-describe-semver/blob/v0.4.0/action.yaml
# https://github.com/choffmeister/git-describe-semver/issues/8
# - name: Record semantic version using git-describe-semver (approach 5)
# uses: docker://ghcr.io/choffmeister/git-describe-semver:0.3.11
# id: git-describe-semver-approach5
# with:
# args: >-
# --fallback="v0.0.0"
# --drop-prefix=false
# --prerelease-prefix="dev"
# --prerelease-suffix=""
# --prerelease-timestamped="false"
# --format="version=<version>"
# $GITHUB_OUTPUT
# https://github.com/choffmeister/git-describe-semver/pkgs/container/git-describe-semver
# https://github.com/choffmeister/git-describe-semver/blob/v0.3.11/action.yaml
# https://github.com/choffmeister/git-describe-semver/blob/v0.4.0/action.yaml
# https://github.com/choffmeister/git-describe-semver/issues/8
- name: Record semantic version using git-describe-semver
uses: docker://ghcr.io/choffmeister/git-describe-semver:0.3.11
id: git-describe-semver
with:
args: >-
--fallback="v0.0.0"
--drop-prefix=false
--prerelease-prefix="dev"
--prerelease-suffix=""
--prerelease-timestamped="false"
--format="version=<version>"
$GITHUB_OUTPUT
# - name: Print semantic version generated by git-describe-semver-approach1
# run: |
# echo "${{ steps.git-describe-semver-approach1.outputs.version }}"
#
# - name: Print semantic version generated by git-describe-semver-approach2
# run: |
# echo "${{ steps.git-describe-semver-approach2.outputs.version }}"
#
# - name: Print semantic version generated by git-describe-semver-approach3
# run: |
# echo "${{ steps.git-describe-semver-approach3.outputs.version }}"
#
# - name: Print semantic version generated by git-describe-semver-approach4
# run: |
# echo "${{ steps.git-describe-semver-approach4.outputs.version }}"
# - name: Print semantic version generated by git-describe-semver-approach5
# run: |
# echo "${{ steps.git-describe-semver-approach5.outputs.version }}"
- name: Print semantic version generated by git-describe-semver
run: |
echo "${{ steps.git-describe-semver.outputs.version }}"
build_stable_image_using_makefile:
name: Build stable image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build stable image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-stable
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_oldstable_alpine_x64_image_using_makefile:
name: Build oldstable Alpine x64 image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build oldstable Alpine x64 image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-oldstable-alpine-buildx64
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_oldstable_alpine_x86_image_using_makefile:
name: Build oldstable Alpine x86 image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
with:
# Needed in order to retrieve tags for use with semver calculations
fetch-depth: 0
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build oldstable Alpine x86 image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-oldstable-alpine-buildx86
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_stable_alpine_x64_image_using_makefile:
name: Build stable Alpine x64 image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build stable Alpine x64 image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-stable-alpine-buildx64
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_stable_alpine_x86_image_using_makefile:
name: Build stable Alpine x86 image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build stable Alpine x86 image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-stable-alpine-buildx86
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_unstable_alpine_x64_image_using_makefile:
name: Build unstable Alpine x64 image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build unstable Alpine x64 image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-unstable-alpine-buildx64
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_unstable_alpine_x86_image_using_makefile:
name: Build unstable Alpine x86 image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build unstable Alpine x86 image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-unstable-alpine-buildx86
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_stable_cgo-mingw-w64_image_using_makefile:
name: Build stable cgo-mingw-w64 image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build stable cgo-mingw-w64 image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make stable-cgo-mingw-w64-build
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_stable_mirror_images_using_makefile:
name: Build stable mirror images using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build stable mirror image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make stable-mirror-build
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_oldstable_image_using_makefile:
name: Build oldstable image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build oldstable image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-oldstable
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
build_unstable_image_using_makefile:
name: Build unstable image using Makefile
needs: git_describe_semver
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 10
steps:
- name: Print Docker version
run: docker --version
- name: Clone repo with default settings
uses: actions/checkout@v4
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Build unstable image
run: |
export REPO_VERSION=${{ needs.git_describe_semver.outputs.version }}
make build-unstable
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"