GitHub Actions and Hosted Runners
- Initial configuration to build releases
This commit is contained in:
parent
5894041943
commit
a9d36bfe04
76
.github/workflows/maven.yml
vendored
Normal file
76
.github/workflows/maven.yml
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
name: Java CI
|
||||
|
||||
on:
|
||||
push:
|
||||
# Sequence of patterns matched against refs/tags
|
||||
tags:
|
||||
- 'v*' # Push events to matching v*, i.e. v1.0
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
|
||||
- name: Install genisoimage
|
||||
run: sudo apt-get install genisoimage
|
||||
|
||||
- name: Install jq
|
||||
run: sudo apt-get install jq
|
||||
|
||||
- name: Get the OpenRefine version
|
||||
run: echo ::set-env name=OR_VERSION::$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
|
||||
|
||||
- name: Build with Maven
|
||||
run: ./refine build
|
||||
|
||||
- name: Generate dist files
|
||||
run: ./refine dist ${{ env.OR_VERSION }}
|
||||
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
run: echo ::set-env name=API_RELEASE::$(./.github/workflows/release_manager.sh)
|
||||
env:
|
||||
OR_VERSION: ${{ env.OR_VERSION }}
|
||||
RELEASE_REPO_OWNER: OpenRefine
|
||||
RELEASE_REPO_TOKEN: ${{ secrets.RELEASE_REPO_TOKEN }}
|
||||
|
||||
- name: Upload Release Asset Windows
|
||||
id: upload-release-asset-win
|
||||
uses: actions/upload-release-asset@v1.0.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_REPO_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ env.API_RELEASE }}
|
||||
asset_path: ./packaging/target/openrefine-win-${{ env.OR_VERSION }}.zip
|
||||
asset_name: openrefine-win-${{ env.OR_VERSION }}.zip
|
||||
asset_content_type: application/zip
|
||||
|
||||
- name: Upload Release Asset Linux
|
||||
id: upload-release-asset-linux
|
||||
uses: actions/upload-release-asset@v1.0.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_REPO_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ env.API_RELEASE }}
|
||||
asset_path: ./packaging/target/openrefine-linux-${{ env.OR_VERSION }}.tar.gz
|
||||
asset_name: openrefine-linux-${{ env.OR_VERSION }}.tar.gz
|
||||
asset_content_type: application/tar+gzip
|
||||
|
||||
- name: Upload Release Asset Mac
|
||||
id: upload-release-asset-mac
|
||||
uses: actions/upload-release-asset@v1.0.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_REPO_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ env.API_RELEASE }}
|
||||
asset_path: ./packaging/target/openrefine-mac-${{ env.OR_VERSION }}.dmg
|
||||
asset_name: openrefine-mac-${{ env.OR_VERSION }}.dmg
|
||||
asset_content_type: application/x-apple-diskimage
|
14
.github/workflows/release_manager.sh
vendored
Executable file
14
.github/workflows/release_manager.sh
vendored
Executable file
@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
OR_VERSION=${env.OR_VERSION}
|
||||
|
||||
RELEASE_REPO_OWNER=${env.RELEASE_REPO_OWNER}
|
||||
|
||||
RELEASE_REPO_TOKEN=${env.RELEASE_REPO_TOKEN}
|
||||
|
||||
|
||||
# Build Release Message
|
||||
API_JSON=$(printf '{"tag_name": "%s","target_commitish": "master","name": "%s","body": "Release of version %s","draft": false,"prerelease": false}' ${OR_VERSION} ${OR_VERSION} ${OR_VERSION} )
|
||||
|
||||
# Create Release
|
||||
echo $( curl --silent --data "${API_JSON}" "https://api.github.com/repos/${RELEASE_REPO_OWNER}/OpenRefine-nightly-releases/releases?access_token=${RELEASE_REPO_TOKEN}" | jq -r '.upload_url' )
|
Loading…
Reference in New Issue
Block a user