mirror of
https://github.com/Magnus167/rustframe.git
synced 2025-08-20 04:19:59 +00:00
Merge branch 'main' into csv
This commit is contained in:
commit
689169bab2
16
.github/actions/runner-fallback/action.yml
vendored
16
.github/actions/runner-fallback/action.yml
vendored
@ -11,9 +11,11 @@ inputs:
|
|||||||
description: 'Comma-separated label list or single label for the fallback (e.g. "ubuntu-latest")'
|
description: 'Comma-separated label list or single label for the fallback (e.g. "ubuntu-latest")'
|
||||||
required: true
|
required: true
|
||||||
github-token:
|
github-token:
|
||||||
description: "PAT or GITHUB_TOKEN with `repo` scope"
|
description: 'GitHub token with repo admin read permissions'
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
use-runner:
|
use-runner:
|
||||||
description: "JSON array of labels you can feed straight into runs-on"
|
description: "JSON array of labels you can feed straight into runs-on"
|
||||||
@ -40,7 +42,17 @@ runs:
|
|||||||
runners=$(curl -s -H "Authorization: Bearer $TOKEN" \
|
runners=$(curl -s -H "Authorization: Bearer $TOKEN" \
|
||||||
-H "Accept: application/vnd.github+json" \
|
-H "Accept: application/vnd.github+json" \
|
||||||
"https://api.github.com/repos/$repo/actions/runners?per_page=100")
|
"https://api.github.com/repos/$repo/actions/runners?per_page=100")
|
||||||
# Split wanted labels
|
|
||||||
|
# Debug: Print runners content
|
||||||
|
# echo "Runners response: $runners"
|
||||||
|
|
||||||
|
# Check if runners is null or empty
|
||||||
|
if [ -z "$runners" ] || [ "$runners" = "null" ]; then
|
||||||
|
echo "❌ Error: Unable to fetch runners or no runners found." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Process runners only if valid
|
||||||
IFS=',' read -ra WANT <<<"$PRIMARY"
|
IFS=',' read -ra WANT <<<"$PRIMARY"
|
||||||
online_found=0
|
online_found=0
|
||||||
while read -r row; do
|
while read -r row; do
|
||||||
|
13
.github/runners/runner-x64/Dockerfile
vendored
13
.github/runners/runner-x64/Dockerfile
vendored
@ -7,11 +7,20 @@ ARG DEBIAN_FRONTEND=noninteractive
|
|||||||
|
|
||||||
RUN apt update -y && apt upgrade -y && useradd -m docker
|
RUN apt update -y && apt upgrade -y && useradd -m docker
|
||||||
RUN apt install -y --no-install-recommends \
|
RUN apt install -y --no-install-recommends \
|
||||||
curl jq build-essential libssl-dev libffi-dev python3 python3-venv python3-dev python3-pip \
|
curl jq git \
|
||||||
|
# dev dependencies
|
||||||
|
build-essential libssl-dev libffi-dev python3 python3-venv python3-dev python3-pip \
|
||||||
# dot net core dependencies
|
# dot net core dependencies
|
||||||
libicu74 libssl3 libkrb5-3 zlib1g libcurl4
|
libicu74 libssl3 libkrb5-3 zlib1g libcurl4 \
|
||||||
|
# Rust and Cargo dependencies
|
||||||
|
gcc cmake
|
||||||
|
|
||||||
|
|
||||||
|
# Install Rust and Cargo
|
||||||
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||||||
|
ENV PATH="/home/docker/.cargo/bin:${PATH}"
|
||||||
|
ENV HOME="/home/docker"
|
||||||
|
|
||||||
RUN cd /home/docker && mkdir actions-runner && cd actions-runner \
|
RUN cd /home/docker && mkdir actions-runner && cd actions-runner \
|
||||||
&& curl -O -L https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz \
|
&& curl -O -L https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz \
|
||||||
&& tar xzf ./actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz
|
&& tar xzf ./actions-runner-linux-x64-${RUNNER_VERSION}.tar.gz
|
||||||
|
28
.github/workflows/docs-and-testcov.yml
vendored
28
.github/workflows/docs-and-testcov.yml
vendored
@ -6,7 +6,7 @@ concurrency:
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches: [main, update_docs_workflow]
|
||||||
# pull_request:
|
# pull_request:
|
||||||
# branches: [main]
|
# branches: [main]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@ -27,9 +27,9 @@ jobs:
|
|||||||
- id: choose
|
- id: choose
|
||||||
uses: ./.github/actions/runner-fallback
|
uses: ./.github/actions/runner-fallback
|
||||||
with:
|
with:
|
||||||
primary-runner: "self-hosted,ubuntu-latest"
|
primary-runner: "self-hosted"
|
||||||
fallback-runner: "ubuntu-latest"
|
fallback-runner: "ubuntu-latest"
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.CUSTOM_GH_TOKEN }}
|
||||||
|
|
||||||
docs-and-testcov:
|
docs-and-testcov:
|
||||||
needs: pick-runner
|
needs: pick-runner
|
||||||
@ -94,21 +94,25 @@ jobs:
|
|||||||
|
|
||||||
- name: Copy files to output directory
|
- name: Copy files to output directory
|
||||||
run: |
|
run: |
|
||||||
|
# mkdir docs
|
||||||
|
mkdir -p target/doc/docs
|
||||||
|
cp -r target/doc/rustframe/* target/doc/docs/
|
||||||
|
|
||||||
mkdir output
|
mkdir output
|
||||||
cp tarpaulin-report.html target/doc/rustframe/
|
cp tarpaulin-report.html target/doc/docs/
|
||||||
cp tarpaulin-report.json target/doc/rustframe/
|
cp tarpaulin-report.json target/doc/docs/
|
||||||
cp tarpaulin-badge.json target/doc/rustframe/
|
cp tarpaulin-badge.json target/doc/docs/
|
||||||
cp last-commit-date.json target/doc/rustframe/
|
cp last-commit-date.json target/doc/docs/
|
||||||
mkdir -p target/doc/rustframe/.github
|
mkdir -p target/doc/docs/.github
|
||||||
cp .github/rustframe_logo.png target/doc/rustframe/.github/
|
cp .github/rustframe_logo.png target/doc/docs/.github/
|
||||||
echo "<meta http-equiv=\"refresh\" content=\"0; url=rustframe\">" > target/doc/index.html
|
echo "<meta http-equiv=\"refresh\" content=\"0; url=docs\">" > target/doc/index.html
|
||||||
|
|
||||||
- name: Upload Pages artifact
|
- name: Upload Pages artifact
|
||||||
if: github.event_name == 'push'
|
# if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
||||||
uses: actions/upload-pages-artifact@v3
|
uses: actions/upload-pages-artifact@v3
|
||||||
with:
|
with:
|
||||||
path: target/doc/
|
path: target/doc/
|
||||||
|
|
||||||
- name: Deploy to GitHub Pages
|
- name: Deploy to GitHub Pages
|
||||||
if: github.event_name == 'push'
|
# if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
||||||
uses: actions/deploy-pages@v4
|
uses: actions/deploy-pages@v4
|
16
.github/workflows/run-benchmarks.yml
vendored
16
.github/workflows/run-benchmarks.yml
vendored
@ -7,8 +7,22 @@ on:
|
|||||||
# - main
|
# - main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-benchmarks:
|
pick-runner:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
runner: ${{ steps.choose.outputs.use-runner }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- id: choose
|
||||||
|
uses: ./.github/actions/runner-fallback
|
||||||
|
with:
|
||||||
|
primary-runner: "self-hosted"
|
||||||
|
fallback-runner: "ubuntu-latest"
|
||||||
|
github-token: ${{ secrets.CUSTOM_GH_TOKEN }}
|
||||||
|
|
||||||
|
run-benchmarks:
|
||||||
|
needs: pick-runner
|
||||||
|
runs-on: ${{ fromJson(needs.pick-runner.outputs.runner) }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
|
8
.github/workflows/run-unit-tests.yml
vendored
8
.github/workflows/run-unit-tests.yml
vendored
@ -12,18 +12,22 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pick-runner:
|
pick-runner:
|
||||||
|
|
||||||
if: github.event.pull_request.draft == false
|
if: github.event.pull_request.draft == false
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
runner: ${{ steps.choose.outputs.use-runner }}
|
runner: ${{ steps.choose.outputs.use-runner }}
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- id: choose
|
- id: choose
|
||||||
uses: ./.github/actions/runner-fallback
|
uses: ./.github/actions/runner-fallback
|
||||||
with:
|
with:
|
||||||
primary-runner: "self-hosted,ubuntu-latest"
|
primary-runner: "self-hosted"
|
||||||
fallback-runner: "ubuntu-latest"
|
fallback-runner: "ubuntu-latest"
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.CUSTOM_GH_TOKEN }}
|
||||||
|
|
||||||
|
|
||||||
run-unit-tests:
|
run-unit-tests:
|
||||||
needs: pick-runner
|
needs: pick-runner
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
<!-- [](https://github.com/Magnus167/rustframe) -->
|
<!-- [](https://github.com/Magnus167/rustframe) -->
|
||||||
[](https://codecov.io/gh/Magnus167/rustframe)
|
[](https://codecov.io/gh/Magnus167/rustframe)
|
||||||
[](https://magnus167.github.io/rustframe/rustframe/tarpaulin-report.html)
|
[](https://magnus167.github.io/rustframe/docs/tarpaulin-report.html)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user