diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..565b459 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI +on: [push, pull_request] +defaults: + run: + shell: bash +jobs: + package_objects: + name: Package Objects + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Prepare Output Directories + run: for d in objects/*/ ; do mkdir -p ./artifacts/$d; done; + - name: Copy Objects to Output Structure + run: for d in objects/*/ ; do find "$d" -name *.dat -exec cp {} ./artifacts/$d \;; done; + - name: Package Objects + run: cd artifacts/objects; zip ../../objects.zip ./* -r; cd ../.. + - name: Hash Objects + run: echo "SHA256=$(sha256sum objects.zip | cut -d " " -f 1)" >> $GITHUB_OUTPUT + id: hash + - name: Upload artifacts (CI) + uses: actions/upload-artifact@v4 + with: + name: objects + path: objects.zip + if-no-files-found: error + - name: Release + uses: softprops/action-gh-release@v2 + if: startsWith(github.ref, 'refs/tags/') + with: + body: SHA256:${{ steps.hash.outputs.SHA256 }} + files: objects.zip