Skip to content

Commit

Permalink
setup CI
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyle-Kyle committed Apr 17, 2024
1 parent c70a200 commit 17d06dd
Show file tree
Hide file tree
Showing 4 changed files with 217 additions and 0 deletions.
167 changes: 167 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
name: CI

on:
push:
branches:
- "**"
pull_request:
workflow_dispatch:

jobs:
v2_23:
runs-on: ubuntu-22.04
name: glibc-v2.23
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '16.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '16.04'
glibc: '2.23'

v2_24:
runs-on: ubuntu-22.04
name: glibc-v2.24
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '16.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '16.10'
glibc: '2.24'
v2_27:
runs-on: ubuntu-22.04
name: glibc-v2.27
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '18.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '18.04'
glibc: '2.27'
v2_31:
runs-on: ubuntu-22.04
name: glibc-v2.31
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '20.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '20.04'
glibc: '2.31'
v2_32:
runs-on: ubuntu-22.04
name: glibc-v2.32
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '20.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '20.10'
glibc: '2.32'
v2_33:
runs-on: ubuntu-22.04
name: glibc-v2.33
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '20.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '21.04'
glibc: '2.33'
v2_34:
runs-on: ubuntu-22.04
name: glibc-v2.34
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '20.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '21.10'
glibc: '2.34'
v2_35:
runs-on: ubuntu-22.04
name: glibc-v2.35
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '22.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '22.04'
glibc: '2.35'
v2_36:
runs-on: ubuntu-22.04
name: glibc-v2.36
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '22.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '22.10'
glibc: '2.36'
v2_37:
runs-on: ubuntu-22.04
name: glibc-v2.37
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '22.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '23.04'
glibc: '2.37'
v2_38:
runs-on: ubuntu-22.04
name: glibc-v2.38
steps:
- name: build how2heap
uses: shellphish/how2heap/ci/build@main
with:
ubuntu: '22.04'
- name: test how2heap
uses: shellphish/how2heap/ci/test@main
with:
ubuntu: '23.10'
glibc: '2.38'
# v2_39:
# runs-on: ubuntu-22.04
# name: glibc-v2.39
# steps:
# - name: build how2heap
# uses: shellphish/how2heap/ci/build@main
# with:
# ubuntu: '24.04'
# - name: test how2heap
# uses: shellphish/how2heap/ci/test@main
# with:
# ubuntu: '24.04'
# glibc: '2.39'
5 changes: 5 additions & 0 deletions ci/build/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM base

RUN apt-get update && apt-get install -y make git gcc

CMD bash -c "cd /how2heap && make && cp $(which make) /how2heap/make"
23 changes: 23 additions & 0 deletions ci/build/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: 'build how2heap'
description: 'build how2heap on the targeted ubuntu docker'
inputs:
ubuntu:
description: 'build it on which ubuntu version'
required: true
runs:
using: "composite"
steps:
- name: create the base docker image
run: |
docker pull ubuntu:${{ inputs.ubuntu }}
docker tag ubuntu:${{ inputs.ubuntu }} base
shell: bash

- name: build how2heap inside the base container
run: |
git clone https://github.com/shellphish/how2heap /tmp/how2heap
cd /tmp/how2heap && git fetch origin ${GITHUB_REF}:action
cd /tmp/how2heap && git switch action
cd /tmp/how2heap/ci/build && docker build -t runner .
docker run -v /tmp/how2heap:/how2heap runner
shell: bash
22 changes: 22 additions & 0 deletions ci/test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: 'test how2heap'
description: 'test how2heap on the targeted ubuntu docker'
inputs:
ubuntu:
description: 'build it on which ubuntu version'
required: true
glibc:
description: 'test against which glibc'
required: true
runs:
using: "composite"
steps:
- name: pull the target ubuntu image
run: |
docker pull ubuntu:${{ inputs.ubuntu }}
docker tag ubuntu:${{ inputs.ubuntu }} ubuntu_test
shell: bash

- name: test how2heap inside the raw container
run: |
docker run -v /tmp/how2heap:/how2heap ubuntu_test bash -c 'cd /how2heap; ./make test target=${{ inputs.glibc }}'
shell: bash

0 comments on commit 17d06dd

Please sign in to comment.