diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f86bd26d8..b6abd93cc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,10 +6,22 @@ on: inputs: eve_image: type: string + runner: + type: string + default: buildjet-4vcpu-ubuntu-2204 + repo: + type: string + default: "lf-edge/eden" workflow_call: inputs: eve_image: type: string + runner: + type: string + default: buildjet-4vcpu-ubuntu-2204 + repo: + type: string + default: "lf-edge/eden" jobs: smoke: @@ -19,12 +31,12 @@ jobs: file_system: ['ext4', 'zfs'] tpm: [true, false] name: Smoke tests - runs-on: ubuntu-22.04 + runs-on: ${{ inputs.runner }} steps: - name: Get code uses: actions/checkout@v3 with: - repository: "lf-edge/eden" + repository: ${{ inputs.repo }} path: "./eden" - name: Run Smoke tests uses: ./eden/.github/actions/run-eden-test @@ -37,12 +49,12 @@ jobs: networking: name: Networking test suite needs: smoke - runs-on: ubuntu-22.04 + runs-on: ${{ inputs.runner }} steps: - name: Get code uses: actions/checkout@v3 with: - repository: "lf-edge/eden" + repository: ${{ inputs.repo }} path: "./eden" - name: Run Networking tests uses: ./eden/.github/actions/run-eden-test @@ -59,12 +71,12 @@ jobs: file_system: ['ext4', 'zfs'] name: Storage test suite needs: smoke - runs-on: ubuntu-22.04 + runs-on: ${{ inputs.runner }} steps: - name: Get code uses: actions/checkout@v3 with: - repository: "lf-edge/eden" + repository: ${{ inputs.repo }} path: "./eden" - name: Run Storage tests uses: ./eden/.github/actions/run-eden-test @@ -77,12 +89,12 @@ jobs: lpc-loc: name: LPC LOC test suite needs: smoke - runs-on: ubuntu-22.04 + runs-on: ${{ inputs.runner }} steps: - name: Get code uses: actions/checkout@v3 with: - repository: "lf-edge/eden" + repository: ${{ inputs.repo }} path: "./eden" - name: Run LPC LOC tests uses: ./eden/.github/actions/run-eden-test @@ -99,12 +111,12 @@ jobs: file_system: ['ext4', 'zfs'] name: EVE upgrade test suite needs: smoke - runs-on: ubuntu-22.04 + runs-on: ${{ inputs.runner }} steps: - name: Get code uses: actions/checkout@v3 with: - repository: "lf-edge/eden" + repository: ${{ inputs.repo }} path: "./eden" - name: Run EVE upgrade tests uses: ./eden/.github/actions/run-eden-test @@ -117,12 +129,12 @@ jobs: user-apps: name: User apps test suite needs: smoke - runs-on: ubuntu-22.04 + runs-on: ${{ inputs.runner }} steps: - name: Get code uses: actions/checkout@v3 with: - repository: "lf-edge/eden" + repository: ${{ inputs.repo }} path: "./eden" - name: Run User apps upgrade tests uses: ./eden/.github/actions/run-eden-test diff --git a/docs/github-actions.md b/docs/github-actions.md new file mode 100644 index 000000000..d7d50e804 --- /dev/null +++ b/docs/github-actions.md @@ -0,0 +1,7 @@ +# Github Actions + +Eden is a part of testing infrastructure of EVE and it's integrated in EVE CI/CD pipelines. EVE uses [test.yml](https://github.com/lf-edge/eden/blob/master/.github/workflows/test.yml) reusable workflow to run eden tests against specific EVE version in PR. +Eden reusable workflows are running using [BuildJet](https://buildjet.com/for-github-actions) runners provided by LF-EDGE. They provide both Arm and x86_64 architectures. +Currently we are provided with 4vCPU/16GBs of RAM and 8vCPU/32GBs of RAM runners. Maximum CPUs running in parallel is 64 for x86_64, that means with 4vCPUs we can have 16 jobs running in parallel. +In case one wants to run eden workflows locally in their own fork, `runner` and `repo` input variables for reusable workflow should be specified. +