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

Sargon CI/CD on ubuntu #218

Merged
merged 35 commits into from
Sep 25, 2024
Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
3f97f0b
WIP: Update README
micbakos-rdx Sep 20, 2024
7b8fe87
Update toolchain
micbakos-rdx Sep 20, 2024
4a9edec
Change script to use current host's toolchain
micbakos-rdx Sep 20, 2024
1b4c0b3
Make sargon desktop recognize host build target
micbakos-rdx Sep 20, 2024
9110077
Test build on ubuntu
micbakos-rdx Sep 20, 2024
fe71b17
Change machine to ubuntu-latest
micbakos-rdx Sep 20, 2024
c6974ff
Test assemble
micbakos-rdx Sep 20, 2024
d7cc985
Remove os matrix
micbakos-rdx Sep 20, 2024
f9d4fad
Produce buildCargo for debug and release. Allow skipping via property
micbakos-rdx Sep 20, 2024
17b25d4
Upload with the name of the binary
micbakos-rdx Sep 20, 2024
4131271
Put back java
micbakos-rdx Sep 20, 2024
2f58979
Add names to artifacts
micbakos-rdx Sep 20, 2024
34d25de
Add publish to desktop bins
micbakos-rdx Sep 20, 2024
156c6e9
Fix env
micbakos-rdx Sep 20, 2024
3c99d09
Add prerequisite to job
micbakos-rdx Sep 20, 2024
67ce2a8
Add env for github secret
micbakos-rdx Sep 20, 2024
96c8c4d
Put back custom build name
micbakos-rdx Sep 20, 2024
cf78409
Put -bins suffix back and fetch tags
micbakos-rdx Sep 20, 2024
f54f2ef
Make most test CI jobs run on ubuntu
micbakos-rdx Sep 23, 2024
e68aa89
Remove unnecessary jobs
micbakos-rdx Sep 23, 2024
f39126c
add rust components
micbakos-rdx Sep 23, 2024
9427d07
Change toolchain
micbakos-rdx Sep 23, 2024
d5966c0
Use older toolchain
micbakos-rdx Sep 23, 2024
e045f9d
Test release desktop
micbakos-rdx Sep 23, 2024
eeb8167
Make 2024-07-30 default
micbakos-rdx Sep 23, 2024
05f07b0
Make 2024-07-30 default on test
micbakos-rdx Sep 23, 2024
051835e
Change generate bindings task
micbakos-rdx Sep 23, 2024
1c105a5
WIP
micbakos-rdx Sep 23, 2024
a060b01
Changes to jvm modules
micbakos-rdx Sep 25, 2024
0c10277
Set jna.library.path
micbakos-rdx Sep 25, 2024
6178197
Uncomment jobs
micbakos-rdx Sep 25, 2024
785563f
Fix readme
micbakos-rdx Sep 25, 2024
c24599a
Fix formatting
micbakos-rdx Sep 25, 2024
438c2b9
Run fmt
micbakos-rdx Sep 25, 2024
7349c5f
Handle warnings
micbakos-rdx Sep 25, 2024
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
8 changes: 4 additions & 4 deletions .github/workflows/release-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ permissions:
packages: write
env:
CARGO_TERM_COLOR: always
MACHINE: macos-14-xlarge
MACHINE: ubuntu-latest
jobs:
build:
runs-on: macos-14-xlarge
runs-on: ubuntu-latest
env:
RUST_TOOLCHAIN: nightly-2024-01-11
RUST_TOOLCHAIN: nightly-2024-07-30
RUST_COMPONENTS: "rust-std"
CUSTOM_BUILD_NAME: ${{ inputs.build_name }}
steps:
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
- name: Build and publish Android
uses: RDXWorks-actions/gradle-build-action@main
with:
arguments: sargon-android:publish
arguments: sargon-android:publishAndroidPublicationToGitHubPackagesRepository
build-root-directory: jvm
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55 changes: 0 additions & 55 deletions .github/workflows/release-desktop-bins.yml

This file was deleted.

98 changes: 98 additions & 0 deletions .github/workflows/release-desktop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: CD Desktop Binaries

on:
workflow_dispatch:
inputs:
build_name:
description: "A custom version name. The resulting name will have the format <cargo.version.patch>-<custom-name>-<rev> (E.g. 1.0.23-custom-name-2eb68d8c)."
required: false
type: string
push:
tags:
- "**"
branches:
- main

permissions:
id-token: write
contents: write
packages: write
env:
CARGO_TERM_COLOR: always
MACHINE: ubuntu-latest
jobs:
build:
strategy:
matrix:
build-target:
- runner: ubuntu-latest
toolchain: x86_64-unknown-linux-gnu
binary: libsargon.so
- runner: macos-latest
toolchain: aarch64-apple-darwin
binary: libsargon.dylib
runs-on: ${{ matrix.build-target.runner }}
env:
RUST_TOOLCHAIN: nightly-2024-07-30
RUST_COMPONENTS: "rust-std"
steps:
- uses: RDXWorks-actions/checkout@main

- name: Install Rust Toolchain
uses: RDXWorks-actions/toolchain@master
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: ${{ env.RUST_COMPONENTS }}
target: ${{ matrix.build-target.toolchain }}
default: 'true'

- name: Rustc version
run: cargo --version --verbose

- name: Set up JDK 17
uses: RDXWorks-actions/setup-java@v3
with:
distribution: "adopt"
java-version: "17"

- name: Build desktop binaries
uses: RDXWorks-actions/gradle-build-action@main
with:
arguments: sargon-android:buildCargoDesktopRelease
build-root-directory: jvm

- name: Upload Artifacts
uses: RDXWorks-actions/upload-artifact@main
with:
name: ${{ matrix.build-target.toolchain }}
path: "target/${{ matrix.build-target.toolchain }}/release/${{ matrix.build-target.binary }}"
if-no-files-found: error

publish:
needs: build
runs-on: ubuntu-latest
env:
CUSTOM_BUILD_NAME: ${{ inputs.build_name }}
steps:
- uses: RDXWorks-actions/checkout@main

- uses: RDXWorks-actions/download-artifact@main
with:
path: artifacts

- name: Set up JDK 17
uses: RDXWorks-actions/setup-java@v3
with:
distribution: "adopt"
java-version: "17"

- name: Prune Tags
run: git fetch --prune --tags

- name: Publish desktop binaries
uses: RDXWorks-actions/gradle-build-action@main
with:
arguments: sargon-android:publishDesktopPublicationToGitHubPackagesRepository
build-root-directory: jvm
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
84 changes: 33 additions & 51 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ permissions:
contents: read
env:
CARGO_TERM_COLOR: always
RUST_TOOLCHAIN: nightly-2024-01-11
RUST_TOOLCHAIN: nightly-2024-07-30
RUST_COMPONENTS: "rust-std"
SWIFT_CODE_COV_REPORT_PATH: ".build/artifacts/info.lcov" # chosen
jobs:
# typos
check-typos:
runs-on: macos-14-xlarge
runs-on: ubuntu-latest
steps:
- uses: RDXWorks-actions/checkout@main

Expand All @@ -39,26 +39,24 @@ jobs:
run: typos

phylum-analyze:
if: ${{ github.event.pull_request }}
uses: radixdlt/public-iac-resuable-artifacts/.github/workflows/phylum-analyze.yml@main
permissions:
id-token: write
pull-requests: write
contents: read
deployments: write
secrets:
phylum_api_key: ${{ secrets.PHYLUM_API_KEY }}
with:
phylum_pr_number: ${{ github.event.number }}
phylum_pr_name: ${{ github.head_ref }}
phylum_group_name: Wallet
phylum_project_id: fb999d0c-b260-474e-8c08-2f163aa2c75f
github_repository: ${{ github.repository }}
add_report_comment_to_pull_request: true

# cargo check
if: ${{ github.event.pull_request }}
uses: radixdlt/public-iac-resuable-artifacts/.github/workflows/phylum-analyze.yml@main
permissions:
id-token: write
pull-requests: write
contents: read
deployments: write
secrets:
phylum_api_key: ${{ secrets.PHYLUM_API_KEY }}
with:
phylum_pr_number: ${{ github.event.number }}
phylum_pr_name: ${{ github.head_ref }}
phylum_group_name: Wallet
phylum_project_id: fb999d0c-b260-474e-8c08-2f163aa2c75f
github_repository: ${{ github.repository }}
add_report_comment_to_pull_request: true# # cargo check
check-cargo-check:
runs-on: macos-14-xlarge
runs-on: ubuntu-latest
steps:
- uses: RDXWorks-actions/checkout@main

Expand All @@ -74,7 +72,7 @@ jobs:

# cargo fmt check
check-formatting:
runs-on: macos-14-xlarge
runs-on: ubuntu-latest
steps:
- uses: RDXWorks-actions/checkout@main

Expand All @@ -90,7 +88,7 @@ jobs:

# clippy
check-clippy:
runs-on: macos-14-xlarge
runs-on: ubuntu-latest
steps:
- uses: RDXWorks-actions/checkout@main

Expand All @@ -106,7 +104,7 @@ jobs:

# Rust unit, doc and integration
test-rust:
runs-on: macos-14-xlarge
runs-on: ubuntu-latest
steps:
- uses: RDXWorks-actions/checkout@main

Expand Down Expand Up @@ -153,36 +151,20 @@ jobs:

# Kotlin test run on JVM on macOS (Apple Silicon)
test-kotlin:
runs-on: macos-14-xlarge
runs-on: ubuntu-latest
steps:
- uses: RDXWorks-actions/checkout@main

- name: Remove old xcode versions
run: |
echo "Removing old Xcode versions..."
find /Applications/ -name "Xcode*" | sort -r | tail --lines=+2 | xargs rm -rf
echo "Available Xcode versions after removal:"
find /Applications -name "Xcode_*" -maxdepth 1 -mindepth 1

- name: Install Rust Toolchain for aarch64-linux-android
uses: RDXWorks-actions/toolchain@master
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: ${{ env.RUST_COMPONENTS }}
target: aarch64-linux-android

- name: Install Rust Toolchain for armv7-linux-androideabi
- name: Install Rust Toolchain for x86_64-unknown-linux-gnu
uses: RDXWorks-actions/toolchain@master
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
components: ${{ env.RUST_COMPONENTS }}
target: armv7-linux-androideabi
target: x86_64-unknown-linux-gnu
default: 'true'

- name: Install Rust Toolchain for aarch64-apple-darwin
uses: RDXWorks-actions/toolchain@master
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
target: aarch64-apple-darwin
- name: Rustc version
run: cargo --version --verbose

- name: Set up JDK 17
uses: RDXWorks-actions/setup-java@v3
Expand All @@ -193,11 +175,11 @@ jobs:
- name: Setup Android SDK
uses: RDXWorks-actions/setup-android@v2

- name: Install cargo-ndk
run: cargo install cargo-ndk

- name: Test JVM with coverage
run: ./jvm/gradlew -p jvm/sargon-android koverXmlReportDebug
- name: Unit test with coverage
uses: RDXWorks-actions/gradle-build-action@main
with:
arguments: sargon-android:koverXmlReportDebug
build-root-directory: jvm

- name: Upload to CodeCov.io
uses: RDXWorks-actions/codecov-action@main
Expand Down
Loading