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

Makefile: Add missing "standard" recipes #471

Closed
10 tasks done
atc0005 opened this issue Feb 2, 2023 · 0 comments
Closed
10 tasks done

Makefile: Add missing "standard" recipes #471

atc0005 opened this issue Feb 2, 2023 · 0 comments
Assignees
Labels
builds enhancement New feature or request packages Related to generated packages for this project (e.g., RPM, DEB)
Milestone

Comments

@atc0005
Copy link
Owner

atc0005 commented Feb 2, 2023

Overview

Update this project's Makefile to add recipes from other projects that I maintain.

TODO

  • arch and OS-specific builds
    • windows-x86
    • windows-x64
    • windows (a "wrapper" around the two arch-specific options)
    • linux-x86
    • linux-x64
    • linux (a "wrapper" around the two arch-specific options)
  • release-build
    • used to generate just the binaries provided by a specific project (e.g., skip Windows (all), skip Linux x86)
  • links (and arch-specific variations)
    • used to generate download links for easier bulk retrieval of release assets
  • quick
    • go build without any custom settings applied
    • it is a quick build to test/prototype binaries without waiting for release-level optimizations to be applied
  • depsinstall
    • can replace gogeninstall as directly referenced by (at least a few) workflows
      • atc0005/shared-project-resources/.github/workflows/lint-and-build-using-make.yml
      • atc0005/check-mail/.github/workflows/lint-and-build.yml
    • gogeninstall can remain as a Makefile recipe for other projects, but would be called as part of the depsinstall recipe
    • depsinstall could become a dependency for other Makefile recipes and wouldn't need to be called directly by workflows
@atc0005 atc0005 added enhancement New feature or request builds labels Feb 2, 2023
@atc0005 atc0005 added this to the Next Release milestone Feb 2, 2023
@atc0005 atc0005 self-assigned this Feb 2, 2023
@atc0005 atc0005 changed the title Update Makefile: Add additional recipes (quick, links, release-build and arch-specific) Refresh Makefile to add missing "standard" recipes Feb 2, 2023
atc0005 added a commit that referenced this issue Feb 2, 2023
New recipes:

- `windows-x86`
- `windows-x64`
- `windows` (a "wrapper" around the two arch-specific options)
- `linux-x86`
- `linux-x64`
- `linux` (a "wrapper" around the two arch-specific options)

refs GH-471
atc0005 added a commit that referenced this issue Feb 2, 2023
Add new Makefile recipes common to other projects
that I maintain:

- gogeninstall
  - installs dependencies needed for `go generate` usage
- depsinstall
  - installs build dependencies (e.g., nfpm)
  - calls gogeninstall recipe
  - intended as the "entry point" for common/shared GHAWs

refs GH-471
@atc0005 atc0005 changed the title Refresh Makefile to add missing "standard" recipes Update Makefile: Add missing "standard" recipes Feb 2, 2023
@atc0005 atc0005 added the packages Related to generated packages for this project (e.g., RPM, DEB) label Feb 2, 2023
atc0005 added a commit that referenced this issue Feb 2, 2023
- generate checksum files for packages
- update goclean recipe
  - remove package checksum files
  - remove links files (all & package specific)
- add links recipes
  - arch/os-specific
  - "wrapper" recipes to call specific ones
- add release-build recipe
  - builds binaries & checksum files
  - generates packages
  - creates links files
    - one for packages
    - one for everything

refs GH-471
atc0005 added a commit that referenced this issue Feb 6, 2023
- add `quick` recipe to build non-prod binaries for one-off
  testing purposes
- update `clean` recipe
  - prune binaries generated by new `quick` recipe
  - remove empty asset build paths

refs GH-471
atc0005 added a commit that referenced this issue Feb 6, 2023
- add `quick` recipe to build non-prod binaries for one-off
  testing purposes
- update `clean` recipe
  - prune binaries generated by new `quick` recipe
  - remove empty asset build paths

refs GH-471
atc0005 added a commit that referenced this issue Feb 6, 2023
- generate checksum files for *all* deb packages
- formatting changes for rpm checksum file generation (NOOP)
- switch from unqualified path in `OUTPUTDIR` Makefile variable
  to fully-qualified `ROOTPATH` variable
  - NOTE: More of these changes pending

refs GH-471
atc0005 added a commit that referenced this issue Feb 6, 2023
Switch from `OUTPUTDIR` to `ROOT_PATH` so that commands are
using fully-qualified paths instead of relative paths.

refs GH-471
atc0005 added a commit that referenced this issue Feb 6, 2023
If the current branch & commit does not match 1:1 with a tag
the command used to build the `RELEASE_TAG` Makefile variable
emits an error.

This commit mutes this error output since it will cause more
confusion and use a static `PLACEHOLDER` string in its place.

refs GH-471
@atc0005 atc0005 closed this as completed Feb 6, 2023
@atc0005 atc0005 changed the title Update Makefile: Add missing "standard" recipes Makefile: Add missing "standard" recipes Feb 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
builds enhancement New feature or request packages Related to generated packages for this project (e.g., RPM, DEB)
Projects
None yet
Development

No branches or pull requests

1 participant