diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..46bc8de --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,63 @@ +name: build + +on: + push: + paths-ignore: + - "docs/**" + - "**/README.md" + pull_request: + paths-ignore: + - "docs/**" + - "**/README.md" + +jobs: + linux-x86_64: + name: Linux x86_64 + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: https://github.com/actions/checkout@v4 + with: + fetch-depth: 0 + submodules: recursive + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + automake \ + autotools-dev \ + build-essential \ + ca-certificates \ + cmake \ + curl \ + git \ + gperf \ + libdbus-1-dev \ + libharfbuzz-dev \ + libssl-dev \ + libtool \ + pkg-config \ + python3-zmq \ + zip + + - name: Build + run: | + make depends target=x86_64-linux-gnu -j"$(nproc)" + + - name: Package release archive + run: | + REF_NAME="${GITHUB_REF_NAME:-$(git rev-parse --short=9 HEAD)}" + ARCHIVE="/tmp/peya-${REF_NAME}-linux-x86_64.zip" + + cd build/x86_64-linux-gnu/release/bin + zip -ur "${ARCHIVE}" peyad peya-wallet-cli peya-wallet-rpc peya-gen-multisig + ls -lh "${ARCHIVE}" + + - name: Upload build artifact + uses: https://github.com/actions/upload-artifact@v4 + with: + name: peya-linux-x86_64 + path: /tmp/peya-*-linux-x86_64.zip + if-no-files-found: error diff --git a/.github/workflows/depends.yml b/.github/workflows/depends.yml deleted file mode 100644 index 25faa50..0000000 --- a/.github/workflows/depends.yml +++ /dev/null @@ -1,127 +0,0 @@ -name: ci/gh-actions/depends - -on: - push: - paths-ignore: - - 'docs/**' - - '**/README.md' - pull_request: - paths-ignore: - - 'docs/**' - - '**/README.md' - -env: - APT_SET_CONF: | - echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom - CCACHE_SETTINGS: | - ccache --max-size=150M - ccache --set-config=compression=true - USE_DEVICE_TREZOR_MANDATORY: ON - -jobs: - build-cross: - runs-on: ubuntu-22.04 - env: - CCACHE_TEMPDIR: /tmp/.ccache-temp - strategy: - fail-fast: false - matrix: - toolchain: - - name: "RISCV 64bit" - host: "riscv64-linux-gnu" - packages: "python3 gperf g++-riscv64-linux-gnu" - - name: "ARM v7" - host: "arm-linux-gnueabihf" - packages: "python3 gperf g++-arm-linux-gnueabihf" - - name: "ARM v8" - host: "aarch64-linux-gnu" - packages: "python3 gperf g++-aarch64-linux-gnu" - - name: "i686 Win" - host: "i686-w64-mingw32" - packages: "python3 g++-mingw-w64-i686" - - name: "i686 Linux" - host: "i686-pc-linux-gnu" - packages: "gperf cmake g++-multilib python3-zmq" - - name: "Win64" - host: "x86_64-w64-mingw32" - packages: "cmake python3 g++-mingw-w64-x86-64" - - name: "x86_64 Linux" - host: "x86_64-unknown-linux-gnu" - packages: "gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev" - - name: "Cross-Mac x86_64" - host: "x86_64-apple-darwin" - packages: "cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools-git" - - name: "Cross-Mac aarch64" - host: "aarch64-apple-darwin" - packages: "cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev python3-setuptools-git" - - name: "x86_64 Freebsd" - host: "x86_64-unknown-freebsd" - packages: "clang-8 gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev" - # - name: "ARMv8 Android" - # host: "aarch64-linux-android" - # packages: "gperf cmake python3" - name: ${{ matrix.toolchain.name }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - submodules: recursive -# Most volatile cache - - name: ccache - uses: actions/cache@v4 - with: - path: ~/.ccache - key: ccache-${{ matrix.toolchain.host }}-${{ github.sha }} - restore-keys: ccache-${{ matrix.toolchain.host }}- -# Less volatile cache - - name: depends cache - uses: actions/cache@v4 - with: - path: contrib/depends/built - key: depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }} - restore-keys: | - depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }} - depends-${{ matrix.toolchain.host }}- -# Static cache - - name: OSX SDK cache - uses: actions/cache@v4 - with: - path: contrib/depends/sdk-sources - key: sdk-${{ matrix.toolchain.host }}-${{ matrix.toolchain.osx_sdk }} - restore-keys: sdk-${{ matrix.toolchain.host }}-${{ matrix.toolchain.osx_sdk }} - - name: set apt conf - run: ${{env.APT_SET_CONF}} - - name: install dependencies - run: sudo apt update; sudo apt -y install build-essential libtool libssl-dev cmake autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache ${{ matrix.toolchain.packages }} - - name: prepare w64-mingw32 - if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' || matrix.toolchain.host == 'i686-w64-mingw32' }} - run: | - sudo update-alternatives --set ${{ matrix.toolchain.host }}-g++ $(which ${{ matrix.toolchain.host }}-g++-posix) - sudo update-alternatives --set ${{ matrix.toolchain.host }}-gcc $(which ${{ matrix.toolchain.host }}-gcc-posix) - - name: build - run: | - ${{env.CCACHE_SETTINGS}} - make depends target=${{ matrix.toolchain.host }} -j2 - - uses: actions/upload-artifact@v4 - if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' || matrix.toolchain.host == 'x86_64-apple-darwin' || matrix.toolchain.host == 'aarch64-apple-darwin' || matrix.toolchain.host == 'x86_64-unknown-linux-gnu' || matrix.toolchain.host == 'aarch64-linux-gnu' }} - with: - name: ${{ matrix.toolchain.name }} - path: | - /home/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/build/${{ matrix.toolchain.host }}/release/bin/salvium-wallet-* - /home/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/build/${{ matrix.toolchain.host }}/release/bin/salviumd* - - name: zip daemon & cli - run: | - zip salvium-${GITHUB_REF_NAME}-${{ matrix.toolchain.host }}.zip /home/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/build/${{ matrix.toolchain.host }}/release/bin/salvium-wallet-rpc* /home/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/build/${{ matrix.toolchain.host }}/release/bin/salvium-wallet-cli* /home/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/build/${{ matrix.toolchain.host }}/release/bin/salviumd* - ls -l - - name: "Deploy" - uses: keithweaver/aws-s3-github-action@v1.0.0 - with: - command: cp - source: ./salvium-${{ github.ref_name }}-${{ matrix.toolchain.host }}.zip - destination: s3://${{ vars.S3_BUCKET }}/salvium-${{ github.ref_name }}-${{ matrix.toolchain.host }}.zip - aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws_region: eu-west-1 - flags: --acl public-read \ No newline at end of file