Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Docker-based GitHub Actions Workflows #275

Merged
merged 1 commit into from
Aug 3, 2020

Conversation

atc0005
Copy link
Owner

@atc0005 atc0005 commented Aug 3, 2020

Replace native GitHub Actions with containers created
and managed through the atc0005/go-ci project.

This results in three workflows:

  • New, primary workflow

    • with parallel linting, testing and building tasks
    • with three Go environments
      • "old stable" - currently Go 1.13.14
      • "stable" - currently Go 1.14.6
      • "unstable" - currently Go 1.15rc1
    • Makefile is not used in this workflow
    • staticcheck linting using latest stable version
      provided by the atc0005/go-ci containers
  • Separate Makefile-based linting and building workflow

    • intended to help ensure that local Makefile-based
      builds that are referenced in project README files
      continue to work as advertised until a better local
      tool can be discovered/explored further
    • use golang:latest container to allow for Makefile-based
      linting tooling installation testing since the
      atc0005/go-ci project provides containers with those
      tools already pre-installed
  • Add Quick Validation workflow

    • run on every push, everything else on pull request updates
    • linting via golangci-lint only
    • testing
    • no builds

Other changes:

  • README

    • Add badges for recent workflows
  • Makefile lintinstall recipe installs the very latest
    stable version of the golangci-lint binary instead
    of locking a specific version

    • this should reduce dependency "gardening"

fixes GH-165

Replace native GitHub Actions with containers created
and managed through the `atc0005/go-ci` project.

This results in three workflows:

- New, primary workflow
  - with parallel linting, testing and building tasks
  - with three Go environments
    - "old stable" - currently `Go 1.13.14`
    - "stable" - currently `Go 1.14.6`
    - "unstable" - currently `Go 1.15rc1`
  - Makefile is *not* used in this workflow
  - staticcheck linting using latest stable version
    provided by the `atc0005/go-ci` containers

- Separate Makefile-based linting and building workflow
  - intended to help ensure that local Makefile-based
    builds that are referenced in project README files
    continue to work as advertised until a better local
    tool can be discovered/explored further
  - use `golang:latest` container to allow for Makefile-based
    linting tooling installation testing since the
    `atc0005/go-ci` project provides containers with those
    tools already pre-installed

- Add Quick Validation workflow
  - run on every push, everything else on pull request updates
  - linting via `golangci-lint` only
  - testing
  - no builds

Other changes:

- README
  - Add badges for recent workflows

- Makefile `lintinstall` recipe installs the very latest
  stable version of the `golangci-lint` binary instead
  of locking a specific version
  - this should reduce dependency "gardening"

refs GH-165
@atc0005 atc0005 added this to the Next Release milestone Aug 3, 2020
@atc0005 atc0005 self-assigned this Aug 3, 2020
@atc0005 atc0005 merged commit 71db243 into master Aug 3, 2020
@atc0005 atc0005 deleted the i165-use-docker-containers-for-ci-work branch August 3, 2020 10:54
atc0005 added a commit that referenced this pull request Aug 3, 2020
These workflows were intended to be go in with GH-275 for
GH-165.

- `Lint and Build using Makefile`
- `Quick Validation`

- refs GH-165
- refs GH-275
atc0005 added a commit that referenced this pull request Aug 3, 2020
Remove local/repo-provided config file at start of CI
run to enable use of default config file provided
by `atc0005/go-ci` Docker container.

refs GH-274, GH-275
atc0005 added a commit that referenced this pull request Aug 3, 2020
Remove local/repo-provided config file at start of CI
run to enable use of default config file provided
by `atc0005/go-ci` Docker container.

refs GH-274, GH-275
atc0005 added a commit that referenced this pull request Aug 3, 2020
Remove local/repo-provided config file at start of CI
run to enable use of default config file provided
by `atc0005/go-ci` Docker container.

refs GH-274, GH-275
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use one or more Docker containers for CI
1 participant