parent
85d4c70171
commit
9b20dbe6dc
@ -1,304 +0,0 @@ |
|||||||
name: Release artifacts |
|
||||||
|
|
||||||
on: |
|
||||||
release: |
|
||||||
types: [ published ] |
|
||||||
|
|
||||||
jobs: |
|
||||||
push_server_to_docker_registry: |
|
||||||
runs-on: ubuntu-latest |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- uses: docker/setup-buildx-action@v2 |
|
||||||
- uses: docker/metadata-action@v4 |
|
||||||
id: docker_meta |
|
||||||
with: |
|
||||||
images: | |
|
||||||
${{ github.repository }} |
|
||||||
ghcr.io/${{ github.repository }} |
|
||||||
- uses: docker/login-action@v2 |
|
||||||
with: |
|
||||||
username: ${{ secrets.DOCKER_USERNAME }} |
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }} |
|
||||||
- uses: docker/login-action@v2 |
|
||||||
with: |
|
||||||
registry: ghcr.io |
|
||||||
username: ${{github.actor}} |
|
||||||
password: ${{secrets.GITHUB_TOKEN}} |
|
||||||
- uses: docker/build-push-action@v4 |
|
||||||
with: |
|
||||||
context: . |
|
||||||
file: server/Dockerfile |
|
||||||
pull: true |
|
||||||
push: true |
|
||||||
tags: ${{ steps.docker_meta.outputs.tags }} |
|
||||||
labels: ${{ steps.docker_meta.outputs.labels }} |
|
||||||
cache-from: type=gha |
|
||||||
cache-to: type=gha,mode=max |
|
||||||
|
|
||||||
publish_crates: |
|
||||||
runs-on: ubuntu-latest |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- run: rustup update |
|
||||||
- run: cargo login $CRATES_IO_TOKEN |
|
||||||
env: |
|
||||||
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }} |
|
||||||
- run: cargo publish |
|
||||||
working-directory: ./oxrocksdb-sys |
|
||||||
continue-on-error: true |
|
||||||
- run: cargo publish |
|
||||||
working-directory: ./lib/oxsdatatypes |
|
||||||
continue-on-error: true |
|
||||||
- run: cargo publish |
|
||||||
working-directory: ./lib/oxrdf |
|
||||||
continue-on-error: true |
|
||||||
- run: cargo publish |
|
||||||
working-directory: ./lib/sparesults |
|
||||||
continue-on-error: true |
|
||||||
- run: cargo publish |
|
||||||
working-directory: ./lib/spargebra |
|
||||||
continue-on-error: true |
|
||||||
- run: cargo publish |
|
||||||
working-directory: ./lib/sparql-smith |
|
||||||
continue-on-error: true |
|
||||||
- run: cargo publish |
|
||||||
working-directory: ./lib |
|
||||||
continue-on-error: true |
|
||||||
- run: cargo publish |
|
||||||
working-directory: ./server |
|
||||||
|
|
||||||
publish_pypi_linux: |
|
||||||
runs-on: ubuntu-latest |
|
||||||
strategy: |
|
||||||
matrix: |
|
||||||
architecture: [ "x86_64", "aarch64" ] |
|
||||||
continue-on-error: true |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- uses: docker/setup-qemu-action@v2 |
|
||||||
with: |
|
||||||
platforms: linux/${{ matrix.architecture }} |
|
||||||
if: matrix.architecture != 'x86_64' |
|
||||||
- run: sed 's/%arch%/${{ matrix.architecture }}/g' .github/workflows/manylinux_build.sh | sed 's/%for_each_version%/true/g' > .github/workflows/manylinux_build_script.sh |
|
||||||
- run: docker run -v "$(pwd)":/workdir --platform linux/${{ matrix.architecture }} quay.io/pypa/manylinux2014_${{ matrix.architecture }} /bin/bash /workdir/.github/workflows/manylinux_build_script.sh |
|
||||||
- uses: pypa/gh-action-pypi-publish@release/v1 |
|
||||||
with: |
|
||||||
user: __token__ |
|
||||||
password: ${{ secrets.PYPI_PASSWORD }} |
|
||||||
packages_dir: target/wheels |
|
||||||
|
|
||||||
publish_pypi_linux_musl: |
|
||||||
runs-on: ubuntu-latest |
|
||||||
strategy: |
|
||||||
matrix: |
|
||||||
architecture: [ "x86_64", "aarch64" ] |
|
||||||
continue-on-error: true |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- uses: docker/setup-qemu-action@v2 |
|
||||||
with: |
|
||||||
platforms: linux/${{ matrix.architecture }} |
|
||||||
if: matrix.architecture != 'x86_64' |
|
||||||
- run: sed 's/%arch%/${{ matrix.architecture }}/g' .github/workflows/musllinux_build.sh | sed 's/%for_each_version%/true/g' > .github/workflows/musllinux_build_script.sh |
|
||||||
- run: docker run -v "$(pwd)":/workdir --platform linux/${{ matrix.architecture }} quay.io/pypa/musllinux_1_1_${{ matrix.architecture }} /bin/bash /workdir/.github/workflows/musllinux_build_script.sh |
|
||||||
- uses: pypa/gh-action-pypi-publish@release/v1 |
|
||||||
with: |
|
||||||
user: __token__ |
|
||||||
password: ${{ secrets.PYPI_PASSWORD }} |
|
||||||
packages_dir: target/wheels |
|
||||||
|
|
||||||
publish_pypi_mac: |
|
||||||
runs-on: macos-latest |
|
||||||
env: |
|
||||||
DEVELOPER_DIR: '/Applications/Xcode.app/Contents/Developer' |
|
||||||
SDKROOT: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk' |
|
||||||
MACOSX_DEPLOYMENT_TARGET: '10.14' |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- uses: actions/setup-python@v4 |
|
||||||
with: |
|
||||||
python-version: "3.10" |
|
||||||
- run: rustup update && rustup target add aarch64-apple-darwin |
|
||||||
- run: pip install -r python/requirements.dev.txt |
|
||||||
- run: maturin build --release -m python/Cargo.toml |
|
||||||
- run: pip install --no-index --find-links=target/wheels/ pyoxigraph |
|
||||||
- run: rm -r target/wheels |
|
||||||
- run: python generate_stubs.py pyoxigraph pyoxigraph.pyi --black |
|
||||||
working-directory: ./python |
|
||||||
- run: maturin publish --no-sdist -m python/Cargo.toml --features abi3 -u __token__ -p ${{ secrets.PYPI_PASSWORD }} |
|
||||||
- run: maturin publish --no-sdist --target aarch64-apple-darwin -m python/Cargo.toml --features abi3 -u __token__ -p ${{ secrets.PYPI_PASSWORD }} |
|
||||||
|
|
||||||
publish_pypi_windows: |
|
||||||
runs-on: windows-latest |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- uses: actions/setup-python@v4 |
|
||||||
with: |
|
||||||
python-version: "3.10" |
|
||||||
- run: rustup update |
|
||||||
- run: Remove-Item -LiteralPath "C:\msys64\" -Force -Recurse |
|
||||||
- run: pip install -r python/requirements.dev.txt |
|
||||||
- run: maturin build --release -m python/Cargo.toml |
|
||||||
- run: pip install --no-index --find-links=target/wheels/ pyoxigraph |
|
||||||
- run: rm -r target/wheels |
|
||||||
- run: python generate_stubs.py pyoxigraph pyoxigraph.pyi --black |
|
||||||
working-directory: ./python |
|
||||||
- run: maturin publish --no-sdist -m python/Cargo.toml --features abi3 -u __token__ -p ${{ secrets.PYPI_PASSWORD }} |
|
||||||
|
|
||||||
publish_pypi_stdist: |
|
||||||
runs-on: ubuntu-latest |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- uses: actions/setup-python@v4 |
|
||||||
with: |
|
||||||
python-version: "3.10" |
|
||||||
- run: rustup update |
|
||||||
- run: pip install -r python/requirements.dev.txt |
|
||||||
- run: maturin build -m python/Cargo.toml |
|
||||||
- run: pip install --no-index --find-links=target/wheels/ pyoxigraph |
|
||||||
- run: rm -r target/wheels |
|
||||||
- run: python generate_stubs.py pyoxigraph pyoxigraph.pyi --black |
|
||||||
working-directory: ./python |
|
||||||
- run: maturin sdist -m python/Cargo.toml |
|
||||||
- uses: pypa/gh-action-pypi-publish@release/v1 |
|
||||||
with: |
|
||||||
user: __token__ |
|
||||||
password: ${{ secrets.PYPI_PASSWORD }} |
|
||||||
packages_dir: target/wheels |
|
||||||
|
|
||||||
publish_npm: |
|
||||||
runs-on: ubuntu-latest |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- uses: actions/setup-node@v3 |
|
||||||
with: |
|
||||||
node-version: 16 |
|
||||||
registry-url: https://registry.npmjs.org |
|
||||||
- run: rustup update |
|
||||||
- run: cargo install wasm-pack |
|
||||||
- run: npm install |
|
||||||
working-directory: ./js |
|
||||||
- run: npm run release |
|
||||||
working-directory: ./js |
|
||||||
env: |
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |
|
||||||
- run: npm run pack |
|
||||||
working-directory: ./js |
|
||||||
|
|
||||||
publish_full_archive: |
|
||||||
runs-on: ubuntu-latest |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- run: | |
|
||||||
rm -rf .git |
|
||||||
zip -r oxigraph_${{ github.event.release.tag_name }}.zip . |
|
||||||
tar -czf /tmp/oxigraph_${{ github.event.release.tag_name }}.tar.gz . |
|
||||||
mv /tmp/oxigraph_${{ github.event.release.tag_name }}.tar.gz . |
|
||||||
- uses: softprops/action-gh-release@v1 |
|
||||||
with: |
|
||||||
files: | |
|
||||||
oxigraph_${{ github.event.release.tag_name }}.zip |
|
||||||
oxigraph_${{ github.event.release.tag_name }}.tar.gz |
|
||||||
|
|
||||||
publish_homebrew: |
|
||||||
if: "!contains('-', github.event.release.tag_name)" |
|
||||||
runs-on: ubuntu-latest |
|
||||||
needs: publish_full_archive |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
repository: oxigraph/homebrew-oxigraph |
|
||||||
token: ${{ secrets.FULL_ACCESS_TOKEN }} |
|
||||||
- run: | |
|
||||||
wget "https://github.com/oxigraph/oxigraph/releases/download/${{ github.event.release.tag_name }}/oxigraph_${{ github.event.release.tag_name }}.tar.gz" |
|
||||||
SHA=`shasum -a 256 "oxigraph_${{ github.event.release.tag_name }}.tar.gz" | awk '{ print $1 }'` |
|
||||||
rm "oxigraph_${{ github.event.release.tag_name }}.tar.gz" |
|
||||||
sed -i "s/download\/.*\.tar/download\/${{ github.event.release.tag_name }}\/oxigraph_${{ github.event.release.tag_name }}.tar/g" Formula/oxigraph.rb |
|
||||||
sed -i "s/sha256 \".*\"/sha256 \"$SHA\"/g" Formula/oxigraph.rb |
|
||||||
git config user.name github-actions |
|
||||||
git config user.email github-actions@github.com |
|
||||||
git add . |
|
||||||
git diff-index --quiet HEAD || git commit -m "Upgrades to ${{ github.event.release.tag_name }}" |
|
||||||
git push |
|
||||||
|
|
||||||
publish_binary_linux: |
|
||||||
runs-on: ubuntu-20.04 |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- run: rustup update && rustup target add aarch64-unknown-linux-gnu |
|
||||||
- run: | |
|
||||||
sudo apt install -y g++-aarch64-linux-gnu |
|
||||||
mkdir .cargo |
|
||||||
echo -e "[target.aarch64-unknown-linux-gnu]\nlinker = \"aarch64-linux-gnu-gcc\"" >> .cargo/config.toml |
|
||||||
- run: cargo build --release |
|
||||||
working-directory: ./server |
|
||||||
- run: cargo build --release --target aarch64-unknown-linux-gnu |
|
||||||
working-directory: ./server |
|
||||||
env: |
|
||||||
BINDGEN_EXTRA_CLANG_ARGS: --sysroot /usr/aarch64-linux-gnu |
|
||||||
- run: mv target/release/oxigraph_server oxigraph_server_${{ github.event.release.tag_name }}_x86_64_linux_gnu |
|
||||||
- run: mv target/aarch64-unknown-linux-gnu/release/oxigraph_server oxigraph_server_${{ github.event.release.tag_name }}_aarch64_linux_gnu |
|
||||||
- uses: softprops/action-gh-release@v1 |
|
||||||
with: |
|
||||||
files: | |
|
||||||
oxigraph_server_${{ github.event.release.tag_name }}_x86_64_linux_gnu |
|
||||||
oxigraph_server_${{ github.event.release.tag_name }}_aarch64_linux_gnu |
|
||||||
|
|
||||||
publish_binary_mac: |
|
||||||
runs-on: macos-latest |
|
||||||
env: |
|
||||||
DEVELOPER_DIR: '/Applications/Xcode.app/Contents/Developer' |
|
||||||
SDKROOT: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk' |
|
||||||
MACOSX_DEPLOYMENT_TARGET: '10.14' |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- run: rustup update && rustup target add aarch64-apple-darwin |
|
||||||
- run: cargo build --release |
|
||||||
working-directory: ./server |
|
||||||
- run: cargo build --release --target aarch64-apple-darwin |
|
||||||
working-directory: ./server |
|
||||||
- run: mv target/release/oxigraph_server oxigraph_server_${{ github.event.release.tag_name }}_x86_64_apple |
|
||||||
- run: mv target/aarch64-apple-darwin/release/oxigraph_server oxigraph_server_${{ github.event.release.tag_name }}_aarch64_apple |
|
||||||
- uses: softprops/action-gh-release@v1 |
|
||||||
with: |
|
||||||
files: | |
|
||||||
oxigraph_server_${{ github.event.release.tag_name }}_x86_64_apple |
|
||||||
oxigraph_server_${{ github.event.release.tag_name }}_aarch64_apple |
|
||||||
|
|
||||||
publish_binary_windows: |
|
||||||
runs-on: windows-latest |
|
||||||
steps: |
|
||||||
- uses: actions/checkout@v3 |
|
||||||
with: |
|
||||||
submodules: true |
|
||||||
- run: rustup update |
|
||||||
- run: Remove-Item -LiteralPath "C:\msys64\" -Force -Recurse |
|
||||||
- run: cargo build --release |
|
||||||
working-directory: ./server |
|
||||||
- run: mv target/release/oxigraph_server.exe oxigraph_server_${{ github.event.release.tag_name }}_x86_64_windows_msvc.exe |
|
||||||
- uses: softprops/action-gh-release@v1 |
|
||||||
with: |
|
||||||
files: oxigraph_server_${{ github.event.release.tag_name }}_x86_64_windows_msvc.exe |
|
Loading…
Reference in new issue