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

ci: automated release builds #342

Merged
merged 9 commits into from
Apr 10, 2024
Merged

ci: automated release builds #342

merged 9 commits into from
Apr 10, 2024

Conversation

elopez
Copy link
Member

@elopez elopez commented Apr 1, 2024

Includes PR #318 to enable aarch64 macOS builds. This enables CI runs when pushing a tag. It also adds a new release job that only runs on tag pushes, and will create a draft release on the repository and attach binaries and their sigstore signatures.

Downloaded files from the release can then be verified with sigstore as follows:

% RELEASE_TAG=v1.2.3
% FILE=medusa-linux-x64.tar.gz
% sigstore verify github \
  --bundle "${FILE}.sigstore" \
  --cert-identity "https://github.com/crytic/medusa/.github/workflows/ci.yml@refs/tags/$RELEASE_TAG" \
  "$FILE"

anishnaik and others added 8 commits March 5, 2024 10:32
  error: externally-managed-environment

  × This environment is externally managed
  ╰─> To install Python packages system-wide, try brew install
      xyz, where xyz is the package you are trying to
      install.

      If you wish to install a non-brew-packaged Python package,
      create a virtual environment using python3 -m venv path/to/venv.
      Then use path/to/venv/bin/python and path/to/venv/bin/pip.

      If you wish to install a non-brew packaged Python application,
      it may be easiest to use pipx install xyz, which will manage a
      virtual environment for you. Make sure you have pipx installed.

  note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
`release` can be skipped, but GitHub will then skip `all-checks`.
We need to check that `release` is successful when it runs, but ignore
it when it is skipped.
@elopez elopez marked this pull request as ready for review April 1, 2024 20:00
@anishnaik anishnaik merged commit 921a58f into master Apr 10, 2024
12 checks passed
@anishnaik anishnaik deleted the dev-automated-release branch April 10, 2024 16:43
Leeyah-123 pushed a commit to Leeyah-123/medusa that referenced this pull request Jun 4, 2024
* add M1 mac arch build and test

* Update .github/workflows/ci.yml

Co-authored-by: Emilio López <[email protected]>

* Update .github/workflows/ci.yml

Co-authored-by: Emilio López <[email protected]>

* ci: automate release creation when pushing a tag

* ci: upgrade actions/setup-{node,go}

* ci: fix Python dependency installation on macOS

  error: externally-managed-environment

  × This environment is externally managed
  ╰─> To install Python packages system-wide, try brew install
      xyz, where xyz is the package you are trying to
      install.

      If you wish to install a non-brew-packaged Python package,
      create a virtual environment using python3 -m venv path/to/venv.
      Then use path/to/venv/bin/python and path/to/venv/bin/pip.

      If you wish to install a non-brew packaged Python application,
      it may be easiest to use pipx install xyz, which will manage a
      virtual environment for you. Make sure you have pipx installed.

  note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

* ci: use `alls-green` to decide success status

`release` can be skipped, but GitHub will then skip `all-checks`.
We need to check that `release` is successful when it runs, but ignore
it when it is skipped.

---------

Co-authored-by: Anish Naik <[email protected]>
s4nsec pushed a commit that referenced this pull request Jul 9, 2024
* add M1 mac arch build and test

* Update .github/workflows/ci.yml

Co-authored-by: Emilio López <[email protected]>

* Update .github/workflows/ci.yml

Co-authored-by: Emilio López <[email protected]>

* ci: automate release creation when pushing a tag

* ci: upgrade actions/setup-{node,go}

* ci: fix Python dependency installation on macOS

  error: externally-managed-environment

  × This environment is externally managed
  ╰─> To install Python packages system-wide, try brew install
      xyz, where xyz is the package you are trying to
      install.

      If you wish to install a non-brew-packaged Python package,
      create a virtual environment using python3 -m venv path/to/venv.
      Then use path/to/venv/bin/python and path/to/venv/bin/pip.

      If you wish to install a non-brew packaged Python application,
      it may be easiest to use pipx install xyz, which will manage a
      virtual environment for you. Make sure you have pipx installed.

  note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

* ci: use `alls-green` to decide success status

`release` can be skipped, but GitHub will then skip `all-checks`.
We need to check that `release` is successful when it runs, but ignore
it when it is skipped.

---------

Co-authored-by: Anish Naik <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants