diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..34767ed --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,55 @@ +name: CI + +on: [push, pull_request, workflow_dispatch] + +jobs: + appimage-x86_64: + name: AppImage x86_64 + runs-on: ubuntu-16.04 + env: + ARCH: x86_64 + steps: + - uses: actions/checkout@v2 + - name: Build AppImage + run: bash -ex ci/build-appimage.sh + - name: Archive artifacts + uses: actions/upload-artifact@v2 + with: + name: AppImage x86_64 + path: linuxdeploy-plugin-appimage*.AppImage* + + appimage-i386: + name: AppImage i386 + runs-on: ubuntu-16.04 + env: + ARCH: i386 + steps: + - uses: actions/checkout@v2 + - name: Install dependencies + run: apt-get install -y g++-multilib libc6-dev:i386 libstdc++-5-dev:i386 zlib1g:i386 libfuse2:i386 + - name: Build AppImage + run: bash -ex ci/build-appimage.sh + - name: Archive artifacts + uses: actions/upload-artifact@v2 + with: + name: AppImage i386 + path: linuxdeploy-plugin-appimage*.AppImage* + + upload: + name: Create release and upload artifacts + needs: + - appimage-x86_64 + - appimage-i386 + runs-on: ubuntu-latest + steps: + - name: Download artifacts + uses: actions/download-artifact@v2 + - name: Inspect directory after downloading artifacts + run: ls -alFR + - name: Create release and upload artifacts + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + wget -q https://github.com/TheAssassin/pyuploadtool/releases/download/continuous/pyuploadtool-x86_64.AppImage + chmod +x pyuploadtool-x86_64.AppImage + ./pyuploadtool-x86_64.AppImage **/linuxdeploy-plugin-appimage*.AppImage* diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f4ba32c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,32 +0,0 @@ -language: cpp - -services: - - docker - -matrix: - include: - - env: ARCH=x86_64 - - env: ARCH=i386 - before_install: - - sudo apt-get install -y g++-multilib libc6-dev:i386 libstdc++-5-dev:i386 zlib1g:i386 - -install: - - mkdir cmake-prefix - - wget -O- https://github.com/Kitware/CMake/releases/download/v3.18.1/cmake-3.18.1-Linux-x86_64.tar.gz | tar xz -Ccmake-prefix/ --strip-components=1 - - export PATH="$(readlink -f cmake-prefix/bin)":"$PATH" - - which cmake - -script: - - bash -xe travis/build-appimage.sh - -after_success: - - ls -lh - # make sure only pushes to rewrite create a new release, otherwise pretend PR and upload to transfer.sh - - if [ "$TRAVIS_BRANCH" != "master" ]; then export TRAVIS_EVENT_TYPE=pull_request; fi - - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh - - bash upload.sh linuxdeploy-plugin-appimage*.AppImage* - -branches: - except: - - # Do not build tags that we create when we upload to GitHub Releases - - /^(?i:continuous)$/ diff --git a/travis/build-appimage.sh b/ci/build-appimage.sh similarity index 100% rename from travis/build-appimage.sh rename to ci/build-appimage.sh diff --git a/travis/entrypoint.sh b/travis/entrypoint.sh deleted file mode 100755 index e39f2ad..0000000 --- a/travis/entrypoint.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/bash - -# get a compiler that allows for using modern-ish C++ (>= 11) on a distro that doesn't normally support it -# before you ask: yes, the binaries will work on CentOS 6 even without devtoolset (they somehow partially link C++ -# things statically while using others from the system...) -# so, basically, it's magic! -source /opt/rh/devtoolset-*/enable - -exec "$@"