Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/release-canary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
workflow_dispatch:
inputs:
tag:
description: "Release tag to test (e.g. devel, v1.2.3)"
description: "Release tag to test (e.g. dev, v1.2.3)"
required: true
type: string
workflow_run:
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
else
WORKFLOW_NAME="${{ github.event.workflow_run.name }}"
if [ "$WORKFLOW_NAME" = "Release Dev" ]; then
echo "tag=devel" >> "$GITHUB_OUTPUT"
echo "tag=dev" >> "$GITHUB_OUTPUT"
elif [ "$WORKFLOW_NAME" = "Release Tag" ]; then
TAG="${{ github.event.workflow_run.head_branch }}"
if [ -z "$TAG" ]; then
Expand Down
54 changes: 17 additions & 37 deletions .github/workflows/release-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -305,10 +305,10 @@ jobs:
retention-days: 5

# ---------------------------------------------------------------------------
# Create / update the devel GitHub Release with CLI binaries and wheels
# Create / update the dev GitHub Release with CLI binaries and wheels
# ---------------------------------------------------------------------------
release-devel:
name: Release Devel
release-dev:
name: Release Dev
needs: [build-cli-linux, build-cli-macos, build-python-wheels]
runs-on: build-amd64
timeout-minutes: 10
Expand All @@ -335,7 +335,7 @@ jobs:
sha256sum *.tar.gz *.whl > openshell-checksums-sha256.txt
cat openshell-checksums-sha256.txt

- name: Prune stale wheel assets from devel release
- name: Prune stale wheel assets from dev release
uses: actions/github-script@v7
env:
WHEEL_VERSION: ${{ needs.build-python-wheels.outputs.wheel_version }}
Expand All @@ -349,20 +349,20 @@ jobs:
core.info(`WHEEL_VERSION: ${wheelVersion}`);
core.info(`CURRENT_PREFIX: ${currentPrefix}`);

// Fetch the devel release
// Fetch the dev release
let release;
try {
release = await github.rest.repos.getReleaseByTag({ owner, repo, tag: 'devel' });
release = await github.rest.repos.getReleaseByTag({ owner, repo, tag: 'dev' });
} catch (err) {
if (err.status === 404) {
core.info('No existing devel release found; skipping wheel pruning.');
core.info('No existing dev release found; skipping wheel pruning.');
return;
}
throw err;
}

const assets = release.data.assets;
core.info(`=== Current devel release assets (${assets.length} total) ===`);
core.info(`=== Current dev release assets (${assets.length} total) ===`);
for (const a of assets) {
core.info(` ${String(a.id).padStart(12)} ${a.name}`);
}
Expand All @@ -382,51 +382,31 @@ jobs:
}
core.info(`Summary: kept=${kept}, deleted=${deleted}`);

- name: Move devel tag
- name: Move dev tag
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag -fa devel -m "Latest Devel" "${GITHUB_SHA}"
git push --force origin devel
git tag -fa dev -m "Latest Dev" "${GITHUB_SHA}"
git push --force origin dev

- name: Create / update GitHub Release
uses: softprops/action-gh-release@v2
with:
name: OpenShell Development Build
prerelease: true
tag_name: devel
tag_name: dev
target_commitish: ${{ github.sha }}
body: |
This build is automatically built on every commit to main that passes CI.
This build is automatically published on every commit to main that passes CI.

> **NOTE**: This is a development build, not a tagged release, and may be unstable.

### Quick install

Requires the [GitHub CLI (`gh`)](https://cli.github.com) to be installed and authenticated.

```bash
sh -c 'ARCH=$(uname -m); OS=$(uname -s); \
case "${OS}-${ARCH}" in \
Linux-x86_64) ASSET="openshell-x86_64-unknown-linux-musl.tar.gz" ;; \
Linux-aarch64) ASSET="openshell-aarch64-unknown-linux-musl.tar.gz" ;; \
Darwin-arm64) ASSET="openshell-aarch64-apple-darwin.tar.gz" ;; \
*) echo "Unsupported platform: ${OS}-${ARCH}" >&2; exit 1 ;; \
esac; \
gh release download devel --repo NVIDIA/OpenShell --pattern "${ASSET}" -O - \
| tar xz \
&& sudo install -m 755 openshell /usr/local/bin/openshell'
```
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | OPENSHELL_VERSION=dev sh
```

### Assets

| File | Platform | Install |
|------|----------|---------|
| `openshell-x86_64-unknown-linux-musl.tar.gz` | Linux x86_64 | `gh release download devel --repo NVIDIA/OpenShell --pattern "openshell-x86_64-unknown-linux-musl.tar.gz" -O - \| tar xz && sudo install -m 755 openshell /usr/local/bin/openshell` |
| `openshell-aarch64-unknown-linux-musl.tar.gz` | Linux aarch64 / ARM64 | `gh release download devel --repo NVIDIA/OpenShell --pattern "openshell-aarch64-unknown-linux-musl.tar.gz" -O - \| tar xz && sudo install -m 755 openshell /usr/local/bin/openshell` |
| `openshell-aarch64-apple-darwin.tar.gz` | macOS Apple Silicon | `gh release download devel --repo NVIDIA/OpenShell --pattern "openshell-aarch64-apple-darwin.tar.gz" -O - \| tar xz && sudo install -m 755 openshell /usr/local/bin/openshell` |
| `openshell-*.whl` | Python wheels | `gh release download devel --repo NVIDIA/OpenShell --pattern "openshell-*.whl"` |
| `openshell-checksums-sha256.txt` | — | SHA256 checksums for all archives |
files: |
release/openshell-x86_64-unknown-linux-musl.tar.gz
release/openshell-aarch64-unknown-linux-musl.tar.gz
Expand All @@ -436,7 +416,7 @@ jobs:

trigger-wheel-publish:
name: Trigger Wheel Publish
needs: [compute-versions, build-python-wheels, release-devel]
needs: [compute-versions, build-python-wheels, release-dev]
runs-on: [self-hosted, nv]
timeout-minutes: 10
steps:
Expand All @@ -462,7 +442,7 @@ jobs:
-F "variables[PIPELINE_ACTION]=publish_wheels" \
-F "variables[GITHUB_REPOSITORY]=${GITHUB_REPOSITORY}" \
-F "variables[COMMIT_SHA]=${GITHUB_SHA}" \
-F "variables[RELEASE_TAG]=devel" \
-F "variables[RELEASE_TAG]=dev" \
-F "variables[RELEASE_VERSION]=${RELEASE_VERSION}" \
-F "variables[RELEASE_KIND]=dev" \
-F "variables[WHEEL_FILENAMES]=${WHEEL_FILENAMES}" \
Expand Down
Loading