ci(release),releaser: prepare for release
This commit is contained in:
parent
7a85737fd4
commit
7f24f987e0
18
.github/workflows/publish-slsa3-auto.yml
vendored
18
.github/workflows/publish-slsa3-auto.yml
vendored
|
@ -3,12 +3,11 @@ name: automated tagged release with slsa 3 compliance
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- '*'
|
- 'v*'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
outputs:
|
outputs:
|
||||||
|
@ -17,15 +16,23 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: main
|
||||||
|
|
||||||
|
- name: get branch name
|
||||||
|
id: get-branch-name
|
||||||
|
uses: tj-actions/branch-names@v7
|
||||||
|
|
||||||
- name: install devbox
|
- name: install devbox
|
||||||
uses: jetpack-io/devbox-install-action@v0.3.0
|
uses: jetpack-io/devbox-install-action@v0.6.1
|
||||||
|
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: devbox run poetry install
|
run: devbox run poetry install
|
||||||
|
|
||||||
- name: run releaser.py
|
- name: run releaser.py
|
||||||
run: devbox run python releaser.py
|
run: devbox run python releaser.py
|
||||||
|
env:
|
||||||
|
SURPLUS_BUILD_BRANCH: ${{ steps.get-branch-name.outputs.base_ref_branch }}
|
||||||
|
|
||||||
- name: build project
|
- name: build project
|
||||||
id: build
|
id: build
|
||||||
|
@ -41,6 +48,11 @@ jobs:
|
||||||
HASHES=$(sha256sum * | base64 -w0)
|
HASHES=$(sha256sum * | base64 -w0)
|
||||||
echo "hashes=$HASHES" >> "$GITHUB_OUTPUT"
|
echo "hashes=$HASHES" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: wheels
|
||||||
|
path: dist/
|
||||||
|
|
||||||
- name: release
|
- name: release
|
||||||
uses: softprops/action-gh-release@v0.1.15
|
uses: softprops/action-gh-release@v0.1.15
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
|
15
.github/workflows/publish-slsa3-manual.yml
vendored
15
.github/workflows/publish-slsa3-manual.yml
vendored
|
@ -14,15 +14,23 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: main
|
||||||
|
|
||||||
|
- name: get branch name
|
||||||
|
id: get-branch-name
|
||||||
|
uses: tj-actions/branch-names@v7
|
||||||
|
|
||||||
- name: install devbox
|
- name: install devbox
|
||||||
uses: jetpack-io/devbox-install-action@v0.3.0
|
uses: jetpack-io/devbox-install-action@v0.6.1
|
||||||
|
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: devbox run poetry install
|
run: devbox run poetry install
|
||||||
|
|
||||||
- name: run releaser.py
|
- name: run releaser.py
|
||||||
run: devbox run python releaser.py
|
run: devbox run python releaser.py
|
||||||
|
env:
|
||||||
|
SURPLUS_BUILD_BRANCH: ${{ steps.get-branch-name.outputs.base_ref_branch }}
|
||||||
|
|
||||||
- name: build project
|
- name: build project
|
||||||
id: build
|
id: build
|
||||||
|
@ -45,6 +53,11 @@ jobs:
|
||||||
files: |
|
files: |
|
||||||
dist/*.whl
|
dist/*.whl
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: wheels
|
||||||
|
path: dist/
|
||||||
|
|
||||||
provenance:
|
provenance:
|
||||||
needs: [build]
|
needs: [build]
|
||||||
permissions:
|
permissions:
|
||||||
|
|
21
releaser.py
21
releaser.py
|
@ -30,25 +30,34 @@ For more information, please refer to <http://unlicense.org/>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
|
from os import getenv
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from subprocess import run
|
from subprocess import run
|
||||||
|
|
||||||
|
|
||||||
# NOTE: change this if surplus has moved
|
# NOTE: change this if surplus has moved
|
||||||
path_surplus = Path(__file__).parent.joinpath("./surplus/surplus.py")
|
path_surplus = Path(__file__).parent.joinpath("./surplus/surplus.py")
|
||||||
|
|
||||||
build_time = datetime.now(timezone(timedelta(hours=8))) # using SGT
|
build_time = datetime.now(timezone(timedelta(hours=8))) # using SGT
|
||||||
insert_build_branch: str = run(
|
|
||||||
"git rev-parse --abbrev-ref HEAD",
|
_insert_build_branch = getenv(
|
||||||
capture_output=True,
|
"SURPLUS_BUILD_BRANCH",
|
||||||
text=True,
|
run(
|
||||||
shell=True,
|
"git branch --show-current",
|
||||||
).stdout.strip("\n")
|
capture_output=True,
|
||||||
|
text=True,
|
||||||
|
shell=True,
|
||||||
|
).stdout.strip("\n"),
|
||||||
|
)
|
||||||
|
insert_build_branch = _insert_build_branch if _insert_build_branch != "" else "unknown"
|
||||||
|
|
||||||
insert_build_commit: str = run(
|
insert_build_commit: str = run(
|
||||||
"git rev-parse HEAD",
|
"git rev-parse HEAD",
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
text=True,
|
||||||
shell=True,
|
shell=True,
|
||||||
).stdout.strip("\n")
|
).stdout.strip("\n")
|
||||||
|
|
||||||
insert_build_datetime: str = repr(build_time).replace("datetime.", "")
|
insert_build_datetime: str = repr(build_time).replace("datetime.", "")
|
||||||
|
|
||||||
# NOTE: change this if the respective lines in surplus.py have changed
|
# NOTE: change this if the respective lines in surplus.py have changed
|
||||||
|
|
Loading…
Reference in a new issue