mirror of
https://github.com/fluencelabs/aqua-ipfs
synced 2025-04-24 15:32:15 +00:00
ci: Update CI (#43)
* Update CI * Cleanup * Update docker-compose * Better name for a job * Use different image * Do not start rust-peer for now
This commit is contained in:
parent
de81b49877
commit
5fbc6fc8fa
14
.github/download_marine.sh
vendored
14
.github/download_marine.sh
vendored
@ -1,14 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -o pipefail -o errexit -o nounset
|
||||
set -x
|
||||
|
||||
MARINE_RELEASE="https://api.github.com/repos/fluencelabs/marine/releases/latest"
|
||||
OUT_DIR=~/.bin
|
||||
|
||||
# get metadata about release
|
||||
curl -s -H "Accept: application/vnd.github.v3+json" $MARINE_RELEASE |
|
||||
# extract url and name for asset with name "marine"
|
||||
# also append $OUT_DIR to each name so file is saved to $OUT_DIR
|
||||
jq -r ".assets | .[] | select(.name == \"marine\") | \"\(.browser_download_url) $OUT_DIR/\(.name)\"" |
|
||||
# download assets
|
||||
xargs -n2 bash -c 'curl -L $0 -o $1 && chmod +x $1'
|
25
.github/e2e/docker-compose.yml
vendored
Normal file
25
.github/e2e/docker-compose.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
services:
|
||||
rust-peer:
|
||||
image: ${RUST_PEER_IMAGE:-fluencelabs/fluence:minimal}
|
||||
ports:
|
||||
- 7771:7771
|
||||
- 9991:9991
|
||||
environment:
|
||||
- FLUENCE_ENV_AQUA_IPFS_EXTERNAL_API_MULTIADDR=/dns4/ipfs/tcp/5001
|
||||
- FLUENCE_ENV_AQUA_IPFS_LOCAL_API_MULTIADDR=/dns4/ipfs/tcp/5001
|
||||
command:
|
||||
- --aqua-pool-size=2
|
||||
- -t=7771
|
||||
- -w=9991
|
||||
- --local
|
||||
# 12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR
|
||||
- -k=hK62afickoeP2uZbmSkAYXxxqP8ozq16VRN7qfTP719EHC5V5tjrtW57BSjUr8GvsEXmJRbtejUWyPZ2rZMyQdq
|
||||
volumes:
|
||||
- ../../aqua-ipfs:/.fluence/v1/builtins/aqua-ipfs
|
||||
|
||||
ipfs:
|
||||
image: ipfs/kubo:latest
|
||||
ports:
|
||||
- 5001:5001
|
||||
volumes:
|
||||
- ./ipfs.sh:/container-init.d/01-ipfs.sh
|
6
.github/e2e/ipfs.sh
vendored
Normal file
6
.github/e2e/ipfs.sh
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
|
||||
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST"]'
|
||||
ipfs config --json Addresses.API '"/ip4/0.0.0.0/tcp/5001"'
|
||||
ipfs bootstrap rm --all
|
42
.github/workflows/run-tests.yml
vendored
Normal file
42
.github/workflows/run-tests.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
name: Run tests
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- "**.md"
|
||||
|
||||
push:
|
||||
branches:
|
||||
- "master"
|
||||
|
||||
concurrency:
|
||||
group: "${{ github.workflow }}-${{ github.ref }}"
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
aqua-ipfs:
|
||||
uses: ./.github/workflows/tests.yml
|
||||
|
||||
lints:
|
||||
name: Lints
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup rust toolchain
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
|
||||
- name: Run cargo fmt
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: fmt
|
||||
args: --all --manifest-path service/Cargo.toml -- --check
|
||||
|
||||
- name: Run cargo clippy
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: clippy
|
||||
args: -Z unstable-options --all --manifest-path service/Cargo.toml
|
||||
continue-on-error: true # do not fail for now
|
62
.github/workflows/rust_ci.yml
vendored
62
.github/workflows/rust_ci.yml
vendored
@ -1,62 +0,0 @@
|
||||
name: Rust CI
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: "${{ github.workflow }}-${{ github.ref }}"
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: cargo nextest
|
||||
runs-on: builder
|
||||
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup rust toolchain
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
|
||||
- name: Install marine
|
||||
uses: baptiste0928/cargo-install@v1.3.0
|
||||
with:
|
||||
crate: marine
|
||||
|
||||
- name: Build
|
||||
working-directory: ./service
|
||||
run: ./build.sh
|
||||
|
||||
- name: Install cargo-nextest
|
||||
uses: baptiste0928/cargo-install@v1.3.0
|
||||
with:
|
||||
crate: cargo-nextest
|
||||
version: 0.9.22
|
||||
|
||||
- run: cargo nextest run --release --all-features --no-fail-fast --retries 10 --test-threads 10
|
||||
working-directory: ./service
|
||||
|
||||
lints:
|
||||
name: Lints
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup rust toolchain
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
|
||||
- name: Run cargo fmt
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: fmt
|
||||
args: --all --manifest-path service/Cargo.toml -- --check
|
||||
|
||||
- name: Run cargo clippy
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: clippy
|
||||
args: -Z unstable-options --all --manifest-path service/Cargo.toml
|
||||
continue-on-error: true # do not fail for now
|
72
.github/workflows/tests.yml
vendored
Normal file
72
.github/workflows/tests.yml
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
name: Run tests with workflow_call
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
rust-peer-image:
|
||||
description: "rust-peer image tag"
|
||||
type: string
|
||||
default: "fluencelabs/fluence:minimal"
|
||||
|
||||
env:
|
||||
RUST_PEER_IMAGE: "${{ inputs.rust-peer-image }}"
|
||||
|
||||
jobs:
|
||||
aqua-ipfs:
|
||||
name: "Run tests"
|
||||
runs-on: builder
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Import secrets
|
||||
uses: hashicorp/vault-action@v2.4.3
|
||||
with:
|
||||
url: https://vault.fluence.dev
|
||||
path: jwt/github
|
||||
role: ci
|
||||
method: jwt
|
||||
jwtGithubAudience: "https://github.com/fluencelabs"
|
||||
jwtTtl: 300
|
||||
secrets: |
|
||||
kv/docker-registry/basicauth/ci username | DOCKER_USERNAME ;
|
||||
kv/docker-registry/basicauth/ci password | DOCKER_PASSWORD
|
||||
|
||||
- name: Checkout aqua-ipfs
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Rust toolchain
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
|
||||
- name: Install marine
|
||||
uses: baptiste0928/cargo-install@v1.3.0
|
||||
with:
|
||||
crate: marine
|
||||
|
||||
- name: Build aqua-ipfs
|
||||
working-directory: ./service
|
||||
run: ./build.sh
|
||||
|
||||
- name: Install cargo-nextest
|
||||
uses: baptiste0928/cargo-install@v1.3.0
|
||||
with:
|
||||
crate: cargo-nextest
|
||||
version: 0.9.22
|
||||
|
||||
- name: Run cargo nextest
|
||||
working-directory: ./service
|
||||
env:
|
||||
NEXTEST_RETRIES: 10
|
||||
NEXTEST_TEST_THREADS: 10
|
||||
run: cargo nextest run --release --all-features --no-fail-fast
|
||||
|
||||
- name: Create distribution package
|
||||
run: ./builtin-package/package.sh
|
||||
|
||||
- name: Upload aqua-ipfs
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: aqua-ipfs
|
||||
path: aqua-ipfs.tar.gz
|
Loading…
x
Reference in New Issue
Block a user