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 #96

Closed
atc0005 opened this issue Aug 6, 2020 · 0 comments · Fixed by #107
Closed

Use Docker-based GitHub Actions Workflows #96

atc0005 opened this issue Aug 6, 2020 · 0 comments · Fixed by #107
Assignees
Milestone

Comments

@atc0005
Copy link
Owner

atc0005 commented Aug 6, 2020

Swap out the GitHub Actions used for CI work with custom Docker containers from the atc0005/go-ci project.

refs atc0005/todo#22

@atc0005 atc0005 added this to the Next Release milestone Aug 6, 2020
@atc0005 atc0005 self-assigned this Aug 6, 2020
atc0005 added a commit that referenced this issue Aug 22, 2020
CHANGES

Add GitHub Actions which use 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"
    - "stable"
    - "unstable"
      - this will be replaced with the next alpha, beta, rc release of
        Go and other linting tools that are not tested well enough to
        be considered "stable"
  - 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
    - linting tasks use container-provided `golangci-lint` config file
      *except* for the Makefile-driven linting task which continues to
      use the repo-provided copy of the `golangci-lint` configuration
      file

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

Other changes:

- 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"

REFERENCES

- refs GH-96
- refs atc0005/todo#22
- see also the https://github.com/atc0005/go-ci project
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant