Skip to content
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
13 changes: 12 additions & 1 deletion .github/codeql/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# *******************************************************************************
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
name: "Custom CodeQL Configuration for MISRA"

paths:
- repos
paths-ignore:
Expand Down
12 changes: 12 additions & 0 deletions .github/codeql/coding-standards.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# *******************************************************************************
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
deviations: []
guideline-recategorizations: []
deviation-permits: []
6 changes: 2 additions & 4 deletions .github/tools/qnx_credential_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,7 @@ def eprint(*args, **kwargs):
eprint("Failed getting credentials from .netrc")
sys.exit(1)

data = urllib.parse.urlencode(
{"userlogin": login, "password": password, "UseCookie": "1"}
)
data = urllib.parse.urlencode({"userlogin": login, "password": password, "UseCookie": "1"})
data = data.encode("ascii")

cookie_jar = http.cookiejar.CookieJar()
Expand All @@ -65,7 +63,7 @@ def eprint(*args, **kwargs):
sys.exit(1)

cookies = {c.name: c.value for c in list(cookie_jar)}
if not "myQNX" in cookies:
if "myQNX" not in cookies:
eprint("Failed to get myQNX cookie from login page")
sys.exit(1)

Expand Down
22 changes: 3 additions & 19 deletions .github/workflows/build_and_test_autosd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,69 +10,56 @@
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

name: AutoSD - Build & Integration Test

on:
pull_request:
types: [opened, reopened, synchronize]

merge_group:
types: [checks_requested]

push:
branches:
- main

jobs:
build:
name: x86_64
runs-on: ubuntu-latest

steps:
- name: Clean disk space
uses: eclipse-score/more-disk-space@v1

- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.18.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true
cache-save: ${{ github.event_name == 'push' }}

- name: Install System Dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y podman curl qemu-system createrepo-c

- name: Build Showcases
run: |
bazel build --config autosd-x86_64 //images/autosd_x86_64:image
working-directory: ./images/autosd_x86_64

- name: Copy showcases_all folder
run: |
set -e
mkdir -p ./images/autosd_x86_64/build/rpms
cp -R bazel-bin/showcases/showcases_all ./images/autosd_x86_64/build/files/

- name: Install AIB Tools
run: |
curl -o auto-image-builder.sh "https://gitlab.com/CentOS/automotive/src/automotive-image-builder/-/raw/main/auto-image-builder.sh?ref_type=heads"
chmod +x auto-image-builder.sh
working-directory: ./images/autosd_x86_64/build

- name: Build AutoSD QEMU (x86_64)
run: |
export AIB_LOCAL_CONTAINER_STORAGE=$PWD/_build/containers-storage

mkdir -p _build/containers-storage
sudo -E ./auto-image-builder.sh build-builder --distro=autosd10-sig

sudo -E ./auto-image-builder.sh build \
--distro=autosd10-sig \
--target=qemu \
Expand All @@ -85,26 +72,23 @@ jobs:

sudo chown $(id -u):$(id -u) _build/disk.qcow2
working-directory: ./images/autosd_x86_64/build

- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: Test QEMU image
run: |
sshcmd() {
sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 2222 root@localhost $@
}

./scripts/run_qemu

sshcmd 'cat /etc/os-release'
working-directory: ./images/autosd_x86_64/build
env:
SSH_PASSWORD: password

- name: Archive QEMU disk image (x86_64)
uses: actions/upload-artifact@v4
with:
Expand Down
8 changes: 0 additions & 8 deletions .github/workflows/build_and_test_ebclfsa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,12 @@
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

name: EB corbos Linux for Safety Applications - Build & Integration Test

on:
pull_request:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]

push:
branches:
- main
Expand All @@ -28,26 +25,21 @@ jobs:
runs-on: ubuntu-latest
container:
image: ghcr.io/eclipse-score/devcontainer:v1.1.0

steps:
- name: Clean disk space
uses: eclipse-score/more-disk-space@v1

- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.18.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true
cache-save: ${{ github.event_name == 'push' }}

- name: Build for EB corbos Linux for Safety Applications and run tests
run: |
bazel build --config=eb-aarch64 //images/ebclfsa_aarch64/scrample_integration:run

- name: Upload test logs
uses: actions/upload-artifact@v5
with:
Expand Down
55 changes: 24 additions & 31 deletions .github/workflows/build_and_test_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

name: Linux - Build & Integration Test
on:
workflow_dispatch:
Expand All @@ -21,33 +20,27 @@ on:
branches:
- main
jobs:
x86_64:
runs-on: ubuntu-latest
permissions:
contents: write # required to upload release assets

steps:
- name: Clean disk space
uses: eclipse-score/more-disk-space@v1

- name: Checkout repository
uses: actions/checkout@v4.2.2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.8.0

- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.18.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true
cache-save: ${{ github.event_name == 'push' }}

- name: Build image
run: |
bazel build --config=linux-x86_64 //images/linux_x86_64:image
- name: Integration tests
run: |
bazel test --config=linux-x86_64 //feature_integration_tests/itf:linux_x86_64
x86_64:
runs-on: ubuntu-latest
permissions:
contents: write # required to upload release assets
steps:
- name: Clean disk space
uses: eclipse-score/more-disk-space@v1
- name: Checkout repository
uses: actions/checkout@v4.2.2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.8.0
- name: Setup Bazel
uses: bazel-contrib/setup-bazel@0.18.0
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true
cache-save: ${{ github.event_name == 'push' }}
- name: Build image
run: |
bazel build --config=linux-x86_64 //images/linux_x86_64:image
- name: Integration tests
run: |
bazel test --config=linux-x86_64 //feature_integration_tests/itf:linux_x86_64
13 changes: 0 additions & 13 deletions .github/workflows/build_and_test_qnx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,15 @@
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

name: QNX8 - Build & Integration Test
on:
pull_request_target:
types: [opened, reopened, synchronize]

merge_group:
types: [checks_requested]

push:
branches:
- main

jobs:
qnx-build-x86_64:
name: x86_64
Expand All @@ -31,22 +27,19 @@ jobs:
permissions:
contents: read
pull-requests: read

steps:
- name: Checkout repository (Handle all events)
uses: actions/checkout@v4.2.2
with:
ref: ${{ github.head_ref || github.event.pull_request.head.ref || github.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}

- name: Setup Bazel with shared caching
uses: bazel-contrib/setup-bazel@0.18.0
with:
disk-cache: ${{ github.workflow }}
repository-cache: true
bazelisk-cache: true
cache-save: ${{ github.event_name == 'push' }}

- name: Prepare QNX license
env:
SCORE_QNX_LICENSE: ${{ secrets.SCORE_QNX_LICENSE }}
Expand All @@ -56,33 +49,27 @@ jobs:
LICENSE_DIR="/opt/score_qnx/license"
sudo mkdir -p "${LICENSE_DIR}"
echo "${SCORE_QNX_LICENSE}" | base64 --decode | sudo tee "${LICENSE_DIR}/licenses" >/dev/null

- name: Install qemu
run: |
sudo apt-get update
sudo apt-get install -y qemu-system

- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm

- name: Allow unprivileged user namespaces
run: |
sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0

- name: Build with QNX toolchain
env:
SCORE_QNX_USER: ${{ secrets.SCORE_QNX_USER }}
SCORE_QNX_PASSWORD: ${{ secrets.SCORE_QNX_PASSWORD }}
run: |
bazel build --config qnx-x86_64 //images/qnx_x86_64:image

- name: Run integration tests
run: |
bazel test --config=itf-qnx-x86_64 //feature_integration_tests/itf:qnx_x86_64

- name: Cleanup QNX license
if: always()
run: sudo rm -rf /opt/score_qnx
Loading