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

Updating ci worflow tyo have a release, testing some updates to the w… #4

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
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
7 changes: 2 additions & 5 deletions .github/workflows/docker-tests.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
name: Docker tests

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:

build:

runs-on: ubuntu-latest
runs-on: [self-hosted,"${{ matrix.os }}"]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Build the Docker images
run: docker-tests/build-docker-images.sh
- name: Run the Docker tests
run: docker-tests/run-docker-tests.sh userspace

116 changes: 116 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: Build and release innernet

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
workflow_dispatch:
push:
paths:
- 'ci/innernet-ref.txt'
pull_request:
paths:
- '.github/workflows/release.yml'

jobs:
build:
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]

runs-on: [self-hosted,"${{ matrix.os }}"]

steps:
- name: Notify workflow started
run: |
msg=$(jq -nc \
--arg msg "${{ github.workflow }} run started on ${{ matrix.os }} for repo ${{ github.event.repository.name }}" \
'{text:$msg}' )
curl -s -X POST -H 'Content-type: application/json' --data "$msg" "${{ secrets.SLACKWEBHOOK }}" >/dev/null

- uses: actions/checkout@v4
with:
submodules: true
lfs: true
fetch-depth: 0

- name: get commit
run: |
innernetRef=$(grep -E '*' ./ci/innernet-ref.txt | tr -d '\n\r')
echo "innernetRef=$innernetRef" >> "$GITHUB_ENV"
echo "$innernetRef"

- uses: actions/checkout@v4
with:
repository: rpcpool/innernet
ref: "${{ env.innernetRef }}"
submodules: recursive
fetch-depth: 0
lfs: true

- name: get tag
run: |
curl -sL https://gist.github.com/Juanito87/e8b2d9f70302d863eecf02e52e747c26/raw/getTag.sh > ci/getTag.sh
source ci/getTag.sh sui
echo "CI_TAG=$CI_TAG" >> "$GITHUB_ENV"
echo "BUILD_NAME=$BUILD_NAME" >> "$GITHUB_ENV"
cd innernet
echo "channel=$(cat rust-toolchain.toml | grep channel | awk '{print $3}' | sed 's/"//g')" >> "$GITHUB_ENV"

- name: set cargo env
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.channel }}

- name: set build cargo cache
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
innernet/target/${{ matrix.os }}
key: ${{ runner.os }}_innernet_${{ hashFiles('innernet/Cargo.lock') }}
restore-keys: |
${{ runner.os }}_innernet

- name: Build innernet
working-directory: innernet
env:
CARGO_TARGET_DIR: "${{ matrix.os }}"
run: |
build instructions

- name: Rename builds
working-directory: innernet
run: |
mv ${{ matrix.os }}/release/innernet ${{matrix.os}}/release/innernet-${{ matrix.os }}

- name: Publish artifact
uses: actions/upload-artifact@v3.1.1
if: github.ref_name != 'main'
with:
name: innernetname
if-no-files-found: error
path: |
${{matrix.os}}/release/innernet-${{ matrix.os }}

- name: Publish to release
uses: softprops/action-gh-release@v1
if: github.ref_name == 'main'
with:
name: ${{ env.BUILD_NAME }}
tag_name: ${{ env.BUILD_NAME }}
token: ${{ github.token }}
files: |
${{matrix.os}}/release/innernet-${{ matrix.os }}

- name: Notify workflow finished
if: always()
run: |
msg=$(jq -nc \
--arg msg "${{ github.workflow }} run ${{ job.status }} on ${{ matrix.os }} for repo ${{ github.event.repository.name }}, running post run hooks" \
'{text:$msg}' )
curl -s -X POST -H 'Content-type: application/json' --data "$msg" "${{ secrets.SLACKWEBHOOK }}" >/dev/null
61 changes: 34 additions & 27 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -4,75 +4,82 @@ on:
push:
branches:
- '*'
tags-ignore:
- 'v*'
pull_request:
branches:
- '*'

jobs:
test:
runs-on: ${{ matrix.os }}
runs-on: [self-hosted,"${{ matrix.os }}"]
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
os: [ubuntu-20.04, ubuntu-22.04]

steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- uses: actions/checkout@v4

- name: get channel
run: |
echo "channel=$(cat rust-toolchain.toml | grep channel | awk '{print $3}' | sed 's/"//g')" >> "$GITHUB_ENV"

- name: set cargo env
uses: dtolnay/rust-toolchain@master
with:
profile: minimal
toolchain: stable
override: true
toolchain: ${{ env.channel }}

- name: Install Dependencies (if Ubuntu)
env:
ACCEPT_EULA: Y
run: sudo apt-get -y update && sudo apt-get install -f && sudo apt-get -y install libsqlite3-dev libclang-11-dev
if: contains(runner.os, 'Linux')

- uses: Swatinem/rust-cache@v1

- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --verbose

- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: --verbose

- name: Test (IPv6)
uses: actions-rs/cargo@v1
with:
command: test
args: --features v6-test --verbose

fmt:
runs-on: ubuntu-latest
runs-on: [self-hosted,"${{ matrix.os }}"]
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- uses: actions/checkout@v4

- name: get channel
run: |
echo "channel=$(cat rust-toolchain.toml | grep channel | awk '{print $3}' | sed 's/"//g')" >> "$GITHUB_ENV"

- name: set cargo env
uses: dtolnay/rust-toolchain@master
with:
profile: minimal
toolchain: nightly
override: true
components: rustfmt
toolchain: ${{ env.channel }}

- name: Rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check

clippy:
runs-on: ubuntu-latest
runs-on: [self-hosted,"${{ matrix.os }}"]
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: clippy
- uses: actions/checkout@v4

- name: get channel
run: |
echo "channel=$(cat rust-toolchain.toml | grep channel | awk '{print $3}' | sed 's/"//g')" >> "$GITHUB_ENV"

- name: Clippy
uses: actions-rs/cargo@v1
with:
1 change: 1 addition & 0 deletions ci/innernet-ref.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
aa1ac515e827d31cc0a80298fc240ed7f9483368