Skip to content

CI | seperate noobaa image build to different action #9051

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

Merged
merged 1 commit into from
Jun 11, 2025
Merged
Show file tree
Hide file tree
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
19 changes: 14 additions & 5 deletions .github/workflows/ceph-nsfs-s3-tests.yaml
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
name: NSFS Ceph S3 Tests
on: [push, pull_request, workflow_dispatch]
on: [workflow_call]

jobs:
nsfs-ceph-s3-tests:
runs-on: ubuntu-latest
timeout-minutes: 90
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read # download-artifact
contents: read # required for actions/checkout
steps:
- name: Checkout noobaa-core
uses: actions/checkout@v4
with:
repository: 'noobaa/noobaa-core'
path: 'noobaa-core'

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: noobaa-tester
path: /tmp

- name: Load image
run: docker load --input /tmp/noobaa-tester.tar

- name: Run NSFS Ceph s3-tests
run: |
set -x
cd ./noobaa-core
mkdir -p logs/ceph-nsfs-test-logs
chmod 777 logs/ceph-nsfs-test-logs
make test-nsfs-cephs3
make test-nsfs-cephs3 -o tester
19 changes: 14 additions & 5 deletions .github/workflows/ceph-s3-tests.yaml
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
name: Ceph S3 Tests
on: [push, pull_request, workflow_dispatch]
on: [workflow_call]

jobs:
ceph-s3-tests:
runs-on: ubuntu-latest
timeout-minutes: 90
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read # download-artifact
contents: read # required for actions/checkout
steps:
- name: Checkout noobaa-core
uses: actions/checkout@v4
with:
repository: 'noobaa/noobaa-core'
path: 'noobaa-core'

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: noobaa-tester
path: /tmp

- name: Load image
run: docker load --input /tmp/noobaa-tester.tar

- name: Run Ceph s3-tests
run: |
set -x
cd ./noobaa-core
mkdir -p logs/ceph-test-logs
chmod 777 logs/ceph-test-logs
make test-cephs3
make test-cephs3 -o tester
19 changes: 14 additions & 5 deletions .github/workflows/nc_unit.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,26 @@
name: Non Containerized Unit Tests
on: [push, pull_request]
on: [workflow_call]

jobs:
run-nc-unit-tests:
runs-on: ubuntu-latest
timeout-minutes: 90
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read # download-artifact
contents: read # required for actions/checkout
steps:
- name: checkout
uses: actions/checkout@v4

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: noobaa-tester
path: /tmp

- name: Load image
run: docker load --input /tmp/noobaa-tester.tar

- name: Run Non Containerized Test
run: |
make run-nc-tests
make run-nc-tests -o tester
19 changes: 14 additions & 5 deletions .github/workflows/postgres-unit-tests.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,25 @@
name: Unit Tests with Postgres
on: [push, pull_request]
on: [workflow_call]

jobs:
run-unit-tests-postgres:
runs-on: ubuntu-latest
timeout-minutes: 90
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read # download-artifact
contents: read # required for actions/checkout
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: noobaa-tester
path: /tmp

- name: Load image
run: docker load --input /tmp/noobaa-tester.tar

- name: Run Unit Tests with Postgres
run: make test-postgres
run: make test-postgres -o tester
71 changes: 71 additions & 0 deletions .github/workflows/run-pr-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Run PR Tests
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:

run-sanity-tests:
needs: build-noobaa-image
uses: ./.github/workflows/sanity.yaml

run-sanity-ssl-tests:
needs: build-noobaa-image
uses: ./.github/workflows/sanity-ssl.yaml

run-unit-tests:
needs: build-noobaa-image
uses: ./.github/workflows/unit.yaml

run-unit-tests-postgres:
needs: build-noobaa-image
uses: ./.github/workflows/postgres-unit-tests.yaml

run-nc-unit-tests:
needs: build-noobaa-image
uses: ./.github/workflows/nc_unit.yml

ceph-s3-tests:
needs: build-noobaa-image
uses: ./.github/workflows/ceph-s3-tests.yaml

ceph-nsfs-s3-tests:
needs: build-noobaa-image
uses: ./.github/workflows/ceph-nsfs-s3-tests.yaml

warp-tests:
needs: build-noobaa-image
uses: ./.github/workflows/warp-tests.yaml

warp-nc-tests:
needs: build-noobaa-image
uses: ./.github/workflows/warp-nc-tests.yaml

build-noobaa-image:
runs-on: ubuntu-latest
timeout-minutes: 90
steps:
- name: Checkout
uses: actions/checkout@v4

- name: make noobaa image
run: make tester

- name: create docker artifact
run: |
docker save --output noobaa.tar noobaa
docker save --output noobaa-tester.tar noobaa-tester

- name: upload noobaa docker image
uses: actions/upload-artifact@v4
with:
name: noobaa-image
path: noobaa.tar
retention-days: "1"

- name: upload noobaa-tester docker image
uses: actions/upload-artifact@v4
with:
name: noobaa-tester
path: noobaa-tester.tar
retention-days: "1"
19 changes: 14 additions & 5 deletions .github/workflows/sanity-ssl.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,29 @@
name: Build & Sanity SSL
on: [push, pull_request]
on: [workflow_call]

jobs:
run-sanity-ssl-tests:
runs-on: ubuntu-latest
timeout-minutes: 90
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read # download-artifact
contents: read # required for actions/checkout
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: noobaa-tester
path: /tmp

- name: Load image
run: docker load --input /tmp/noobaa-tester.tar

- name: Run Build & SSL Sanity Tests
run: |
set -x
mkdir -p logs/sanity-test-logs
chmod 777 logs/sanity-test-logs
make test-external-pg-sanity
make test-external-pg-sanity -o tester
19 changes: 14 additions & 5 deletions .github/workflows/sanity.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,29 @@
name: Build & Sanity
on: [push, pull_request]
on: [workflow_call]

jobs:
run-sanity-tests:
runs-on: ubuntu-latest
timeout-minutes: 90
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read # download-artifact
contents: read # required for actions/checkout
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: noobaa-tester
path: /tmp

- name: Load image
run: docker load --input /tmp/noobaa-tester.tar

- name: Run Build & Sanity Tests
run: |
set -x
mkdir -p logs/sanity-test-logs
chmod 777 logs/sanity-test-logs
make test-sanity
make test-sanity -o tester
22 changes: 16 additions & 6 deletions .github/workflows/unit.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,28 @@
name: Unit Tests
on: [push, pull_request]
on: [workflow_call]

jobs:
run-unit-tests:
runs-on: ubuntu-latest
timeout-minutes: 90
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read # download-artifact
contents: read # required for actions/checkout
steps:
- name: checkout
uses: actions/checkout@v4

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: noobaa-tester
path: /tmp

- name: Load image
run: docker load --input /tmp/noobaa-tester.tar

- name: Run Test
run: |
make test
make root-perm-test
make test -o tester
make root-perm-test -o tester

19 changes: 14 additions & 5 deletions .github/workflows/warp-nc-tests.yaml
Original file line number Diff line number Diff line change
@@ -1,21 +1,30 @@

name: Warp NC Tests
on: [push, pull_request, workflow_dispatch]
on: [workflow_call]

jobs:
warp-nc-tests:
runs-on: ubuntu-latest
timeout-minutes: 90
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
actions: read # download-artifact
contents: read # required for actions/checkout
steps:
- name: Checkout noobaa-core
uses: actions/checkout@v4
with:
repository: 'noobaa/noobaa-core'
path: 'noobaa-core'

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: noobaa-tester
path: /tmp

- name: Load image
run: docker load --input /tmp/noobaa-tester.tar

- name: Create Warp logs directory
run: |
set -x
Expand All @@ -27,5 +36,5 @@ jobs:
run: |
set -x
cd ./noobaa-core
make test-nc-warp
make test-nc-warp -o tester

Loading