Create Release Assets #20
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Release Assets | |
on: | |
release: | |
types: | |
- created | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
container: | |
image: mono:latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Installing build dependencies | |
run: apt-get update && apt-get install -y git make sed libplist-utils xorriso gzip fakeroot lintian rpm wget jq dpkg-dev gpg createrepo | |
- name: Installing runtime dependencies | |
run: apt-get install -y xvfb | |
- name: Build ckan.exe and netkan.exe | |
run: ./build --configuration=Release | |
- name: Run tests | |
run: xvfb-run ./build test+only --configuration=Release --where="Category!=FlakyNetwork" | |
- name: Build dmg | |
run: ./build osx --configuration=Release --exclusive | |
- name: Build deb | |
env: | |
CODENAME: stable | |
run: ./build deb --configuration=Release --exclusive | |
- name: Build rpm | |
run: ./build rpm --configuration=Release --exclusive | |
- name: Import GPG key | |
env: | |
DEBIAN_PRIVATE_KEY: ${{ secrets.DEBIAN_PRIVATE_KEY }} | |
run: | | |
echo "$DEBIAN_PRIVATE_KEY" | base64 --decode | gpg --batch --import | |
gpg --list-secret-keys --keyid-format LONG | |
if: ${{ env.DEBIAN_PRIVATE_KEY }} | |
- name: Sign deb release | |
env: | |
CODENAME: stable | |
DEBIAN_PRIVATE_KEY: ${{ secrets.DEBIAN_PRIVATE_KEY }} | |
run: ./build deb-sign --configuration=Release --exclusive | |
if: ${{ env.DEBIAN_PRIVATE_KEY }} | |
- name: Build rpm repository | |
env: | |
CODENAME: stable | |
DEBIAN_PRIVATE_KEY: ${{ secrets.DEBIAN_PRIVATE_KEY }} | |
run: ./build rpm-repo --configuration=Release --exclusive | |
if: ${{ env.DEBIAN_PRIVATE_KEY }} | |
- name: Get release data | |
id: release_data | |
run: | | |
URL=$(wget -qO- https://api.github.com/repos/$GITHUB_REPOSITORY/releases | jq '.[0].upload_url' | tr -d \") | |
echo "upload_url=$URL" >> $GITHUB_OUTPUT | |
VERSION=$(wget -qO- https://api.github.com/repos/$GITHUB_REPOSITORY/releases | jq '.[0].tag_name' | tr -d \"v) | |
echo "version=$VERSION" >> $GITHUB_OUTPUT | |
RPM_VERSION=$(echo ${VERSION}.$(date +'%g%j') | sed -e 's/-/_/g') | |
echo "rpm_version=$RPM_VERSION" >> $GITHUB_OUTPUT | |
DEB_VERSION=${VERSION}.$(date +'%g%j') | |
echo "deb_version=$DEB_VERSION" >> $GITHUB_OUTPUT | |
- name: Push deb to S3 | |
# Send deb file to https://ksp-ckan.s3-us-west-2.amazonaws.com/ | |
uses: jakejarvis/s3-sync-action@master | |
with: | |
args: --follow-symlinks | |
env: | |
AWS_S3_BUCKET: ksp-ckan | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: us-east-1 | |
SOURCE_DIR: _build/deb/apt-repo-root | |
DEST_DIR: deb | |
if: ${{ env.AWS_ACCESS_KEY_ID && env.AWS_SECRET_ACCESS_KEY }} | |
- name: Push stable APT repo to S3 | |
uses: jakejarvis/s3-sync-action@master | |
with: | |
args: --follow-symlinks | |
env: | |
AWS_S3_BUCKET: ksp-ckan | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: us-east-1 | |
SOURCE_DIR: _build/deb/apt-repo-dist | |
DEST_DIR: deb/dists/stable | |
if: ${{ env.AWS_ACCESS_KEY_ID && env.AWS_SECRET_ACCESS_KEY }} | |
- name: Push stable RPM repo to S3 | |
uses: jakejarvis/s3-sync-action@master | |
with: | |
args: --follow-symlinks | |
env: | |
AWS_S3_BUCKET: ksp-ckan | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: us-east-1 | |
SOURCE_DIR: _build/rpm/repo | |
DEST_DIR: rpm/stable | |
if: ${{ env.AWS_ACCESS_KEY_ID && env.AWS_SECRET_ACCESS_KEY }} | |
- name: Upload ckan.exe | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.release_data.outputs.upload_url }} | |
asset_path: _build/repack/Release/ckan.exe | |
asset_name: ckan.exe | |
asset_content_type: application/vnd.microsoft.portable-executable | |
- name: Upload CKAN.dmg | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.release_data.outputs.upload_url }} | |
asset_path: _build/osx/CKAN.dmg | |
asset_name: CKAN.dmg | |
asset_content_type: application/x-apple-diskimage | |
- name: Upload ckan_*.deb | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.release_data.outputs.upload_url }} | |
asset_path: _build/deb/ckan_${{ steps.release_data.outputs.deb_version }}_all.deb | |
asset_name: ckan_${{ steps.release_data.outputs.version }}_all.deb | |
asset_content_type: application/vnd.debian.binary-package | |
- name: Upload ckan-*.rpm | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.release_data.outputs.upload_url }} | |
asset_path: _build/rpm/RPMS/noarch/ckan-${{ steps.release_data.outputs.rpm_version }}-1.noarch.rpm | |
asset_name: ckan-${{ steps.release_data.outputs.version }}-1.noarch.rpm | |
asset_content_type: application/x-rpm | |
- name: Upload AutoUpdater.exe | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.release_data.outputs.upload_url }} | |
asset_path: _build/repack/Release/AutoUpdater.exe | |
asset_name: AutoUpdater.exe | |
asset_content_type: application/vnd.microsoft.portable-executable | |
- name: Send Discord Notification | |
env: | |
JOB_STATUS: ${{ job.status }} | |
WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK }} | |
HOOK_OS_NAME: ${{ runner.os }} | |
WORKFLOW_NAME: ${{ github.workflow }} | |
if: ${{ always() && env.WEBHOOK_URL }}] | |
run: | | |
git clone --depth 1 https://github.com/DiscordHooks/github-actions-discord-webhook.git webhook | |
bash webhook/send.sh $JOB_STATUS $WEBHOOK_URL |