From b02051fa6a626b6c92f403c03a986351d077e7aa Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Wed, 4 Dec 2019 19:59:40 +0900 Subject: [PATCH] Enable GitHub actions Signed-off-by: Akihiro Suda --- .github/workflows/main.yaml | 24 ++++++++++++++++++++++++ .github/workflows/release.yaml | 29 +++++++++++++++++++++++++++++ .travis.yml | 10 ---------- Dockerfile.buildtests | 4 ++++ 4 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/main.yaml create mode 100644 .github/workflows/release.yaml delete mode 100644 .travis.yml diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 0000000..e0b5a8b --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,24 @@ +name: Main +on: [push, pull_request] +jobs: + test-main: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - run: docker build -t slirp4netns-tests -f Dockerfile.tests . + - run: docker run --rm --privileged slirp4netns-tests + test-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - run: DOCKER_BUILDKIT=1 docker build -f Dockerfile.buildtests . + artifact: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - run: DOCKER_BUILDKIT=1 docker build -o /tmp/artifact --target artifact -f Dockerfile.buildtests . + - run: (cd /tmp/artifact; sha256sum *) + - uses: actions/upload-artifact@v1 + with: + name: slirp4netns-x86_64 + path: /tmp/artifact/slirp4netns diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..c2f3680 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,29 @@ +name: Release +on: + push: + tags: + - 'v*' + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - run: DOCKER_BUILDKIT=1 docker build -o /tmp/artifact --target artifact -f Dockerfile.buildtests . + - run: (cd /tmp/artifact; sha256sum *) + - uses: actions/create-release@v1 + id: create_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: ${{ github.ref }} + draft: true + - uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: /tmp/artifact/slirp4netns + asset_name: slirp4netns-x86_64 + asset_content_type: application/octet-stream diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5fb6a43..0000000 --- a/.travis.yml +++ /dev/null @@ -1,10 +0,0 @@ -dist: trusty -sudo: required - -services: - - docker - -script: - - docker build -t slirp4netns-tests -f Dockerfile.tests . - - docker run --security-opt seccomp="unconfined" --rm -v /dev:/dev slirp4netns-tests - - docker build -q -f Dockerfile.buildtests . diff --git a/Dockerfile.buildtests b/Dockerfile.buildtests index d5be864..b21a118 100644 --- a/Dockerfile.buildtests +++ b/Dockerfile.buildtests @@ -44,6 +44,10 @@ RUN ./autogen.sh FROM buildtest-opensuse151-common AS buildtest-opensuse151-dynamic RUN ./configure && make && cp -f slirp4netns / +# artifact for GitHub actions +FROM scratch AS artifact +COPY --from=buildtest-alpine310-static /slirp4netns /slirp4netns + FROM scratch AS buildtest-final-stage COPY --from=buildtest-alpine310-static /slirp4netns /buildtest-alpine310-static COPY --from=buildtest-ubuntu1804-dynamic /slirp4netns /buildtest-ubuntu1804-dynamic