Skip to content
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

Remove docker and use ubuntu github runners directly #21

Merged
merged 2 commits into from
Feb 18, 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
69 changes: 0 additions & 69 deletions .github/workflows/build-and-push-docker-image.yml

This file was deleted.

55 changes: 55 additions & 0 deletions .github/workflows/cache-gnu-toolchain.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Cache Gnu Toolchain
on: workflow_dispatch

jobs:
cache-gnu-toolchain:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: pulp-platform/riscv-gnu-toolchain
ref: v2.6.0

- name: Fetch Submodules
run: git submodule update --init --recursive --depth=1 --recommend-shallow riscv-*

- name: Install Apt Packages
run: |
sudo apt-get update
sudo apt-get install \
autoconf \
automake \
autotools-dev \
bc \
bison \
build-essential \
ca-certificates \
curl \
cmake \
flex \
gawk \
git \
gperf \
libexpat-dev \
libgmp-dev \
libmpc-dev \
libmpfr-dev \
libtool \
patchutils \
python3 \
python3-pip \
texinfo \
zlib1g-dev

- name: Build
run: |
./configure --prefix=$GITHUB_WORKSPACE/toolchain/gnu --with-arch=rv32imfcxpulpv3 --with-abi=ilp32 --enable-multilib
make -j 8

- name: Cache
uses: actions/cache/save@v4
with:
path: toolchain/gnu
key: toolchain-gnu
43 changes: 43 additions & 0 deletions .github/workflows/cache-gvsoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Cache GVSoC
on: workflow_dispatch

jobs:
build-and-cache-job:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: lukamac/gvsoc
ref: siracusa-mac
submodules: recursive

- name: Install Apt Packages
run: |
sudo apt-get update
sudo apt-get install -y \
autoconf \
automake \
build-essential \
curl \
cmake \
libtool \
texinfo

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'

- name: Install Python Packages
run: pip install -r requirements.txt -r gapy/requirements.txt -r core/requirements.txt

- name: Build
run: make all TARGETS=siracusa

- name: Cache
uses: actions/cache/save@v4
with:
path: install
key: gvsoc
56 changes: 56 additions & 0 deletions .github/workflows/cache-pulp-sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Cache PULP-SDK
on: workflow_dispatch

jobs:
cache-pulp-sdk:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: Scheremo/pulp-sdk
ref: scheremo
path: pulp-sdk

- name: Install Apt Packages
run: |
sudo apt-get update
sudo apt-get install -y \
autoconf \
automake \
build-essential \
curl \
cmake \
libtool \
texinfo

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'

- name: Install Python Packages
run: pip install argcomplete pyelftools six scons

- name: Restore Cached Gnu Toolchain
uses: actions/cache/restore@v4
with:
path: toolchain/gnu
key: gnu-toolchain
fail-on-cache-miss: true

- name: Build
run: |
export CC=gcc-12
export CXX=g++-12
cd pulp-sdk
export PULP_RISCV_GCC_TOOLCHAIN=$GITHUB_WORKSPACE/toolchain/gnu
source configs/siracusa.sh
make all

- name: Cache
uses: actions/cache/save@v4
with:
path: pulp-sdk
key: pulp-sdk
35 changes: 30 additions & 5 deletions .github/workflows/test-neureka.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,41 @@
name: Test Neureka
on: push
jobs:
test:
test-neureka:
runs-on: ubuntu-latest
container: ghcr.io/pulp-platform/pulp-nnx:main-test
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: pulp-nnx

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
cache-dependency-path:
- pulp-nnx/test/requirements.txt
- pulp-nnx/test/workflow-requirements/requirements-run-pulp-sdk.txt

- name: Restore Cached Gnu Toolchain
uses: actions/cache/restore@v4
with:
path: toolchain/gnu
key: gnu-toolchain
fail-on-cache-miss: true

- name: Restore Cached PULP-SDK
uses: actions/cache/restore@v4
with:
path: pulp-sdk
key: pulp-sdk
fail-on-cache-miss: true

- name: Run test
shell: bash
working-directory: test
run: |
source /pulp-sdk/configs/siracusa.sh
export PULP_RISCV_GCC_TOOLCHAIN=$GITHUB_WORKSPACE/toolchain/gnu
source pulp-sdk/configs/siracusa.sh
cd pulp-nnx/test
pytest test.py -T tests -R -A neureka --build-flow=make --wmem=tcdm
pytest test.py -T tests -R -A neureka --build-flow=make --wmem=sram
42 changes: 38 additions & 4 deletions .github/workflows/test-neureka_v2.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,48 @@
name: Test Neureka v2
on: push
jobs:
test:
test-neureka-v2:
runs-on: ubuntu-latest
container: ghcr.io/pulp-platform/pulp-nnx:main-test
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: pulp-nnx

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
cache: 'pip'
cache-dependency-path:
- pulp-nnx/test/requirements.txt
- pulp-nnx/test/workflow-requirements/requirements-run-gvsoc.txt

- name: Restore Cached Gnu Toolchain
uses: actions/cache/restore@v4
with:
path: toolchain/gnu
key: toolchain-gnu
fail-on-cache-miss: true

- name: Restore Cached PULP-SDK
uses: actions/cache/restore@v4
with:
path: pulp-sdk
key: pulp-sdk
fail-on-cache-miss: true

- name: Restore Cached GVSoC
uses: actions/cache/restore@v4
with:
path: install
key: gvsoc
fail-on-cache-miss: true

- name: Run test
shell: bash
working-directory: test
run: |
export PULP_SDK_HOME=$GITHUB_WORKSPACE/pulp-sdk
export TOOLCHAIN_GNU_INSTALL_DIR=$GITHUB_WORKSPACE/toolchain/gnu
export GVSOC=$GITHUB_WORKSPACE/gvsoc/bin/gvsoc
cd pulp-nnx/test
pytest test.py -T tests -R -A neureka_v2 --build-flow=cmake --wmem=mram
Loading
Loading