Skip to content

Feat/add controller for remote update #1164

Feat/add controller for remote update

Feat/add controller for remote update #1164

name: default-pipeline
on:
pull_request:
types: [opened, synchronize, reopened]
env:
CARGO_TERM_COLOR: always
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: (checkout) source code
uses: actions/checkout@v4
- name: (run) lint
uses: ./.github/actions/lint
with:
github-token: ${{ env.GITHUB_TOKEN }}
use-cache: true
test:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: (checkout) source code
uses: actions/checkout@v4
- name: (run) test
uses: ./.github/actions/test
with:
github-token: ${{ env.GITHUB_TOKEN }}
use-cache: true
build-macos:
runs-on: macos-latest
timeout-minutes: 10
strategy:
matrix:
target: [aarch64-apple-darwin]
name: Build / MacOS / ${{ matrix.target }}
steps:
- name: (checkout) source code
uses: actions/checkout@v4
- name: (run) build
uses: ./.github/actions/build
with:
target: ${{ matrix.target }}
use-cache: true
github-token: ${{ env.GITHUB_TOKEN }}
build-windows:
runs-on: windows-latest
timeout-minutes: 15
strategy:
matrix:
target: [x86_64-pc-windows-msvc]
name: Build / Windows / ${{ matrix.target }}
steps:
- name: (checkout) source code
uses: actions/checkout@v4
- name: (run) build
uses: ./.github/actions/build
with:
target: ${{ matrix.target }}
use-cache: true
github-token: ${{ env.GITHUB_TOKEN }}
build-linux:
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
matrix:
target: [x86_64-unknown-linux-gnu]
name: Build / Linux / ${{ matrix.target }}
steps:
- name: (checkout) source code
uses: actions/checkout@v4
- name: (run) build
uses: ./.github/actions/build-with-cross
with:
target: ${{ matrix.target }}
use-cache: true
github-token: ${{ env.GITHUB_TOKEN }}
e2e-macos:
needs: build-macos
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
target: [aarch64-apple-darwin]
runner: [macos-14]
name: E2E / MacOS / ${{ matrix.runner }}
runs-on: ${{ matrix.runner }}
steps:
- name: (checkout) source code
uses: actions/checkout@v4
# https://github.com/Homebrew/homebrew-core/issues/165793
# github actions overwrites brew's python. Force it to reassert itself, by running in a separate step.
- name: unbreak python in github actions
run: |
find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
sudo rm -rf /Library/Frameworks/Python.framework/
brew install --force python3 && brew unlink python3 && brew unlink python3 && brew link --overwrite python3
- name: (run) download artifacts (macos)
uses: actions/download-artifact@v4
with:
name: ${{ matrix.target }}
path: .
- name: (unzip) unzip binary
run: unzip nodex-agent-${{ matrix.target }}.zip
- name: (setup) run chmod
shell: bash
run: chmod +x ./nodex-agent
- name: (check) check binary
run: ls -la
- name: (run) e2e
uses: ./.github/actions/e2e-mac
with:
binary-path: ./nodex-agent
e2e-windows:
needs: build-windows
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
target: [x86_64-pc-windows-msvc]
runner: [windows-2022, windows-2019]
name: E2E / Windows / ${{ matrix.runner }}
runs-on: ${{ matrix.runner }}
steps:
- name: (checkout) source code
uses: actions/checkout@v4
- name: (run) download artifacts (windows)
uses: actions/download-artifact@v4
with:
name: ${{ matrix.target }}
path: .
- name: (unzip) unzip binary
run: Expand-Archive -Path nodex-agent-${{ matrix.target }}.zip -DestinationPath .
shell: powershell
- name: (setup) adjust permissions
run: |
Get-ChildItem -Path ./nodex-agent* | Unblock-File
shell: powershell
- name: (check) check binary
run: dir
- name: (run) e2e
uses: ./.github/actions/e2e-windows
with:
binary-path: ./nodex-agent.exe
e2e-linux:
needs: build-linux
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
target: [x86_64-unknown-linux-gnu]
docker-image:
[
ubuntu-2004,
ubuntu-2204,
ubuntu-2404,
debian-bookworm,
debian-bullseye,
debian-buster,
]
name: E2E / Linux / ${{ matrix.docker-image }}
steps:
- name: (checkout) source code
uses: actions/checkout@v4
- name: (run) download artifacts (linux)
uses: actions/download-artifact@v4
with:
name: ${{ matrix.target }}
path: .
- name: (unzip) unzip binary
run: unzip nodex-agent-${{ matrix.target }}.zip
- name: (setup) run chmod
shell: bash
run: chmod +x ./nodex-agent
- name: (check) check binary
run: ls -la
- name: (run) e2e
uses: ./.github/actions/e2e-with-docker
with:
binary-path: ./nodex-agent
docker-image: ${{ matrix.docker-image }}