platform: linux/amd64

pipeline:
  build-x86_64:
    image: alpine
    environment:
      - ZIG_BIN=https://ziglang.org/builds/zig-linux-x86_64-0.9.0-dev.1815+20e19e75f.tar.xz
      - ZIGMOD_BIN=https://github.com/nektro/zigmod/releases/download/v85/zigmod-x86_64-linux
    commands:
      - apk add --no-cache build-base curl-dev curl-static zlib-static
        openssl-libs-static nghttp2-static brotli-static xz git unzip
      - wget $ZIG_BIN
      - wget $ZIGMOD_BIN
      - tar xf zig-linux-x86_64-0.9.0-dev.1815+20e19e75f.tar.xz
      - zig="$PWD/zig-linux-x86_64-0.9.0-dev.1815+20e19e75f/zig"
      - zigmod="$PWD/zigmod-x86_64-linux"
      - chmod +x $zigmod
      - wget https://www.sqlite.org/2021/sqlite-amalgamation-3370000.zip
      - unzip sqlite-amalgamation-3370000.zip
      - mv sqlite-amalgamation-3370000 sqlite
      - $zigmod ci
      - $zig build -Dstatic=true
      - mv zig-out/bin/derploader zig-out/bin/derploader-non-stripped
      - $zig build -Dstatic=true -Dstrip=true
      - strip -s zig-out/bin/derploader
  upload:
    image: alpine
    secrets: [b2auth, b2bucket]
    commands:
      - apk add curl jq
      - PREFIX="artefacts/treehouse/${CI_REPO}/${CI_BUILD_NUMBER}"
      - set +x
      - echo "$B2AUTH" > auth1
      - set -x
      - curl -H @auth1 https://api.backblazeb2.com/b2api/v2/b2_authorize_account > resp1
      - API=$(< resp1 jq -r '.apiUrl')
      - 'echo -n "authorization: " > auth2'
      - < resp1 jq -r '.authorizationToken' >> auth2
      - "curl -H @auth2 -d '{\"bucketId\": \"'\"$B2BUCKET\"'\"}'
        \"$API/b2api/v2/b2_get_upload_url\" > resp2"
      - UPURL=$(< resp2 jq -r '.uploadUrl')
      - 'echo -n "authorization: " > auth3'
      - < resp2 jq -r '.authorizationToken' >> auth3
      - "
        for x in zig-out/bin/*;
        do
            SHA=$(sha1sum $x | awk '{print $1}')\n
            curl
              -H @auth3
              -H \"X-Bz-File-Name: $PREFIX/$(basename $x)\"
              -H \"Content-Type: b2/x-auto\"
              -H \"X-Bz-Content-Sha1: $SHA\"
              --data-binary \"@$x\"
              $UPURL\n
            echo \"https://bucket.lonjil.xyz/$PREFIX/$(basename $x)\"\n
        done\n"