Skip to content

Update the SimMock objects. #84

Update the SimMock objects.

Update the SimMock objects. #84

Workflow file for this run

---
name: CI
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches: [main, devel]
tags:
- 'v*.*.*'
pull_request:
branches: [main, devel]
env:
REGISTRY: ghcr.io
IMAGE_BASE_NAME: ${{ github.repository_owner }}/dse
PACKAGE_VERSION: 0.0.2
package_name: ModelC
build_dir: dse/modelc/build
CCACHE_SECONDARY_STORAGE: ${{ secrets.CCACHE_SECONDARY_STORAGE }}
jobs:
build:
runs-on: [ubuntu-latest]
strategy:
matrix:
package_arch:
- linux-amd64
- linux-x86
- windows-x64
- windows-x86
container:
image: ghcr.io/boschglobal/dse-gcc-builder:main
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build package metadata
id: package_meta
uses: docker/metadata-action@v4
with:
images: dse/modelc
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
- name: Get package version
if: startsWith(github.ref, 'refs/tags/')
id: package
run: |
echo "PACKAGE_VERSION=${{ fromJSON(steps.package_meta.outputs.json).labels['org.opencontainers.image.version'] }}" >> $GITHUB_ENV
- name: Build
env:
PACKAGE_ARCH: ${{ matrix.package_arch }}
run: |
make
- name: Test
if: ${{ matrix.package_arch == 'linux-amd64' }}
env:
PACKAGE_ARCH: ${{ matrix.package_arch }}
run: |
make test_cmocka
- name: Stats
run: |
ccache -s -v || true
- name: Package
env:
PACKAGE_ARCH: ${{ matrix.package_arch }}
run: |
make package
tar -czf sandbox_out.tar.gz -C . ${{ env.build_dir }}/_out
- uses: actions/upload-artifact@v3
with:
name: ${{ env.package_name }}-${{ matrix.package_arch }}-package
path: |
${{ env.build_dir }}/_dist/${{ env.package_name }}-${{ env.PACKAGE_VERSION }}-${{ matrix.package_arch }}.tar.gz
${{ env.build_dir }}/_dist/${{ env.package_name }}-${{ env.PACKAGE_VERSION }}-${{ matrix.package_arch }}.zip
retention-days: 1
- uses: actions/upload-artifact@v3
with:
name: ${{ env.package_name }}-${{ matrix.package_arch }}-sandbox
path: |
sandbox_out.tar.gz
retention-days: 1
test:
runs-on: [ubuntu-latest]
needs: [build]
strategy:
matrix:
package_arch:
- linux-amd64
container:
image: ghcr.io/boschglobal/dse-python-builder:main
env:
HOST_DOCKER_WORKSPACE: ${{ github.workspace }}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
services:
redis:
image: redis:6.2.0
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/download-artifact@v3
with:
name: ${{ env.package_name }}-${{ matrix.package_arch }}-sandbox
path: .
- name: Sandbox
run: |
echo '${{ job.container.network }}'
echo "DSE_DOCKER_NETWORK=${{ job.container.network }}" >> $GITHUB_ENV
tar xzf sandbox_out.tar.gz
find ${{ env.build_dir }}/_out -type f -name '*' -exec ls -sh --color=auto {} \;
- name: Test
env:
PACKAGE_ARCH: ${{ matrix.package_arch }}
run: |
make test_pytest
publish:
if: startsWith(github.ref, 'refs/tags/')
runs-on: [ubuntu-latest]
needs: [build, test]
strategy:
matrix:
package_arch:
- linux-amd64
- linux-x86
- windows-x64
- windows-x86
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Build package metadata
id: package_meta
uses: docker/metadata-action@v4
with:
images: dse/modelc
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
- name: Get package version
if: startsWith(github.ref, 'refs/tags/')
id: package
run: |
echo "PACKAGE_VERSION=${{ fromJSON(steps.package_meta.outputs.json).labels['org.opencontainers.image.version'] }}" >> $GITHUB_ENV
- uses: actions/download-artifact@v3
with:
name: ${{ env.package_name }}-${{ matrix.package_arch }}-package
path: ${{ env.build_dir }}/_dist
- name: Publish
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
${{ env.build_dir }}/_dist/${{ env.package_name }}-${{ env.PACKAGE_VERSION }}-${{ matrix.package_arch }}.zip
container:
if: startsWith(github.ref, 'refs/tags/')
runs-on: [ubuntu-latest]
needs: [build, test]
strategy:
matrix:
name: [modelc]
arch: [linux-amd64]
include:
- name: modelc
arch: linux-amd64
- name: modelc-x86
arch: linux-x86
- name: simbus-sa
arch: linux-amd64
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_BASE_NAME }}-${{ matrix.name }}
- name: Version
if: startsWith(github.ref, 'refs/tags/')
id: package
run: |
echo "PACKAGE_VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}" >> $GITHUB_ENV
- uses: actions/download-artifact@v3
with:
name: ${{ env.package_name }}-${{ matrix.arch }}-sandbox
path: .
- name: Sandbox
run: |
tar xzf sandbox_out.tar.gz
find ${{ env.build_dir }}/_out -type f -name '*' -exec ls -sh --color=auto {} \;
- name: Build and push
uses: docker/build-push-action@v4
with:
push: true
context: .
file: ./extra/docker/${{ matrix.name }}/Dockerfile
build-args: |
PACKAGE_VERSION=${{ env.PACKAGE_VERSION }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}