-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This commit introduces the following reusable workflows for use in eclipse-zenoh/zenoh, eclipse-zenoh/zenoh-plugin-\*, and eclipse-zenoh/zenoh-backend-\* and partially Rust-based bindings. 1. **tag-crates**: This bumps the version of the workspace, including in all cargo-deb metadata. And sets the version of eclipse-zenoh dependencies either to the tag itself, or optinally to a different version (to support releasing patches for plugins/backends/bindings without re-relasing eclipse-zenoh/zenoh). If `dry-run = true` then a `release/dry-run/1.2.3` branch is created instead of `release/1.2.3`. If `release/dry-run/*` branches exceed a limit, then the oldest one is deleted 2. **build-crates-artifacts**: This builds artifacts for all supported targets and uploads them for use by users. 3. **build-crates-debian**: This builds Debian packages for all supported targets and uploads them. 4. **publish-crates-cargo**: This publishes a sequence of workspaces to a local alternative Cargo registry, and then if `dry-run = false` to cartes.io 5. **publish-crates-debian**: This publishes packages uploaded in `build-crates-debian` to a local Debian repository, tries to install them from it, then if `dry-run = false` to eclipse.org 6. **publish-crates-homebrew**: This builds artifacts for macOS, then publishes them to a local Homebrew tap and attempts to install them from it, then if `dry-run = false` uploads the build result to eclipse.org and updates eclipse-zenoh/homebrew-zenoh 7. **publish-crates-eclipse**: This publishes packages uploaded in `build-crates-debian` to eclipse.org 8. **publish-crates-github**: This crates a GitHub release on the target repository and populates it with artifacts built in `build-crates-artifacts`.
- Loading branch information
1 parent
499d794
commit 7a9e09f
Showing
54 changed files
with
661,057 additions
and
826 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
name: Build crates (Artifacts) | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
repo: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
artifact-patterns: | ||
type: string | ||
required: true | ||
exclude-builds: | ||
type: string | ||
required: false | ||
workflow_dispatch: | ||
inputs: | ||
repo: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
artifact-patterns: | ||
type: string | ||
required: true | ||
exclude-builds: | ||
type: string | ||
required: false | ||
|
||
jobs: | ||
build-crates-artifacts: | ||
runs-on: ${{ matrix.build.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
exclude: ${{ inputs.exclude-builds }} | ||
build: | ||
- { target: x86_64-unknown-linux-gnu, os: ubuntu-20.04 } | ||
- { target: x86_64-unknown-linux-musl, os: ubuntu-20.04 } | ||
- { target: arm-unknown-linux-gnueabi, os: ubuntu-20.04 } | ||
- { target: arm-unknown-linux-gnueabihf, os: ubuntu-20.04 } | ||
- { target: armv7-unknown-linux-gnueabihf, os: ubuntu-20.04 } | ||
- { target: aarch64-unknown-linux-gnu, os: ubuntu-20.04 } | ||
- { target: aarch64-unknown-linux-musl, os: ubuntu-20.04 } | ||
- { target: x86_64-apple-darwin, os: macos-11 } | ||
- { target: aarch64-apple-darwin, os: macos-11 } | ||
- { target: x86_64-pc-windows-msvc, os: windows-2019 } | ||
- { target: x86_64-pc-windows-gnu, os: windows-2019 } | ||
steps: | ||
- id: build | ||
uses: eclipse-zenoh/ci/build-crates-artifacts@main | ||
with: | ||
repo: ${{ inputs.repo }} | ||
version: ${{ inputs.version }} | ||
branch: ${{ inputs.branch }} | ||
target: ${{ matrix.build.target }} | ||
artifact-patterns: ${{ inputs.artifact-patterns }} | ||
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
name: Build crates (Debian) | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
repo: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
workflow_dispatch: | ||
inputs: | ||
repo: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
|
||
jobs: | ||
build-crates-debian: | ||
runs-on: ${{ matrix.build.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
build: | ||
- { target: x86_64-unknown-linux-gnu, os: ubuntu-20.04 } | ||
- { target: arm-unknown-linux-gnueabi, os: ubuntu-20.04 } | ||
- { target: armv7-unknown-linux-gnueabihf, os: ubuntu-20.04 } | ||
- { target: aarch64-unknown-linux-gnu, os: ubuntu-20.04 } | ||
steps: | ||
- id: build | ||
uses: eclipse-zenoh/ci/build-crates-debian@main | ||
with: | ||
repo: ${{ inputs.repo }} | ||
version: ${{ inputs.version }} | ||
branch: ${{ inputs.branch }} | ||
target: ${{ matrix.build.target }} | ||
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Publish crates (Cargo) | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
repos: | ||
type: string | ||
required: true | ||
dry-run: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
inter-deps-pattern: | ||
type: string | ||
required: true | ||
workflow_dispatch: | ||
inputs: | ||
repos: | ||
type: string | ||
required: true | ||
dry-run: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
inter-deps-pattern: | ||
type: string | ||
required: true | ||
|
||
jobs: | ||
publish-crates-cargo: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: eclipse-zenoh/ci/publish-crates-cargo@main | ||
with: | ||
repos: ${{ inputs.repos }} | ||
dry-run: ${{ inputs.dry-run }} | ||
branch: ${{ inputs.branch }} | ||
inter-deps-pattern: ${{ inputs.inter-deps-pattern }} | ||
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }} | ||
crates-io-token: ${{ secrets.CRATES_IO_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
name: Publish crates (Debian) | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
dry-run: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
workflow_dispatch: | ||
inputs: | ||
dry-run: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
|
||
jobs: | ||
publish-crates-debian: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: eclipse-zenoh/ci/publish-crates-debian@main | ||
with: | ||
dry-run: ${{ inputs.dry-run }} | ||
version: ${{ inputs.version }} | ||
ssh-host: [email protected] | ||
ssh-host-path: /home/data/httpd/download.eclipse.org/zenoh/debian-repo | ||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | ||
ssh-passphrase: ${{ secrets.SSH_PASSPHRASE }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
name: Publish crates (Eclipse) | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
dry-run: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
name: | ||
type: string | ||
required: true | ||
workflow_dispatch: | ||
inputs: | ||
dry-run: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
name: | ||
type: string | ||
required: true | ||
|
||
jobs: | ||
publish-crates-debian: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: eclipse-zenoh/ci/publish-crates-eclipse@main | ||
with: | ||
dry-run: ${{ inputs.dry-run }} | ||
version: ${{ inputs.version }} | ||
ssh-host: [email protected] | ||
ssh-host-path: /home/data/httpd/download.eclipse.org/${{ inputs.name }} | ||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | ||
ssh-passphrase: ${{ secrets.SSH_PASSPHRASE }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Publish crates (GitHub) | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
repo: | ||
type: string | ||
required: true | ||
dry-run: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
workflow_dispatch: | ||
inputs: | ||
repo: | ||
type: string | ||
required: true | ||
dry-run: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
|
||
jobs: | ||
publish-crates-homebrew: | ||
runs-on: macos-latest | ||
steps: | ||
- uses: eclipse-zenoh/ci/publish-crates-github@main | ||
with: | ||
repo: ${{ inputs.repo }} | ||
dry-run: ${{ inputs.dry-run }} | ||
version: ${{ inputs.version }} | ||
branch: ${{ inputs.branch }} | ||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | ||
ssh-passphrase: ${{ secrets.SSH_PASSPHRASE }} | ||
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
name: Publish crates (Homebrew) | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
repo: | ||
type: string | ||
required: true | ||
dry-run: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
artifact-patterns: | ||
type: string | ||
required: true | ||
formulae: | ||
type: string | ||
required: true | ||
workflow_dispatch: | ||
inputs: | ||
repo: | ||
type: string | ||
required: true | ||
dry-run: | ||
type: string | ||
required: true | ||
version: | ||
type: string | ||
required: true | ||
branch: | ||
type: string | ||
required: true | ||
artifact-patterns: | ||
type: string | ||
required: true | ||
formulae: | ||
type: string | ||
required: true | ||
|
||
jobs: | ||
publish-crates-homebrew: | ||
runs-on: macos-latest | ||
steps: | ||
- uses: eclipse-zenoh/ci/publish-crates-homebrew@main | ||
with: | ||
repo: ${{ inputs.repo }} | ||
dry-run: ${{ inputs.dry-run }} | ||
version: ${{ inputs.version }} | ||
branch: ${{ inputs.branch }} | ||
formulae: ${{ inputs.formulae }} | ||
artifact-patterns: ${{ inputs.artifact-patterns }} | ||
tap: eclipse-zenoh/homebrew-zenoh | ||
ssh-host: [email protected] | ||
ssh-host-path: /home/data/httpd/download.eclipse.org/zenoh/homebrew-tap | ||
ssh-host-url: https://download.eclipse.org/zenoh/homebrew-tap | ||
actor-name: eclipse-zenoh-bot | ||
actor-email: [email protected] | ||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | ||
ssh-passphrase: ${{ secrets.SSH_PASSPHRASE }} | ||
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }} |
Oops, something went wrong.