Skip to content

cleanup

cleanup #10

Workflow file for this run

name: release
on:
push:
tags:
- '*.*.*'
env:
APP_NAME: 'tim'
NIM_VERSION: 'stable'
MAINTAINER: 'OpenPeeps'
jobs:
build-artifact:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
# - windows-latest
- macOS-latest
steps:
- uses: actions/checkout@v1
- uses: jiro4989/setup-nim-action@v1
with:
nim-version: ${{ env.NIM_VERSION }}
- run: npm install cmake-js -g
- run: choosenim show path -y
- run: nimble build -Y -d:release
- run: denim build src/${{github.event.repository.name}}.nim -r -y --cmake
- name: "bundle tim for node"
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
timNodeName="tim-$(echo "${{ runner.os }}" | tr '[:upper:]' '[:lower:]').node"
git pull origin main
git checkout .
rm ./bindings/node/tim/src/bin/$timNodeName
cp ./bin/tim.node ./bindings/node/tim/src/bin/$timNodeName
git add ./bindings/node/tim/src/bin/$timNodeName
git commit -m "bundle tim for node on ${{ runner.os }}"
- name: Push changes # push the output folder to your repo
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: 'main'
- name: Create artifact
run: |
os="${{ runner.os }}"
assets="${{ env.APP_NAME }}_$(echo "${{ runner.os }}" | tr '[:upper:]' '[:lower:]')"
echo "$assets"
mkdir -p "dist/$assets"
cp -r bin LICENSE README.* "dist/$assets/"
(
cd dist
if [[ "${{ runner.os }}" == Windows ]]; then
7z a "$assets.zip" "$assets"
else
tar czf "$assets.tar.gz" "$assets"
fi
ls -lah *.*
)
shell: bash
- uses: actions/upload-artifact@v2
with:
name: artifact-${{ matrix.os }}
path: |
dist/*.tar.gz
dist/*.zip
create-release:
runs-on: ubuntu-latest
needs:
- build-artifact
steps:
- uses: actions/checkout@v1
- name: Create Release
id: create-release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: Release
draft: false
prerelease: false
- name: Write upload_url to file
run: echo '${{ steps.create-release.outputs.upload_url }}' > upload_url.txt
- uses: actions/upload-artifact@v2
with:
name: create-release
path: upload_url.txt
upload-release:
runs-on: ubuntu-latest
needs: create-release
strategy:
matrix:
include:
- os: ubuntu-latest
asset_name_suffix: linux.tar.gz
asset_content_type: application/gzip
# - os: windows-latest
# asset_name_suffix: windows.zip
# asset_content_type: application/zip
- os: macOS-latest
asset_name_suffix: macos.tar.gz
asset_content_type: application/gzip
steps:
- uses: actions/download-artifact@v2
with:
name: artifact-${{ matrix.os }}
- uses: actions/download-artifact@v2
with:
name: create-release
- id: vars
run: |
echo "::set-output name=upload_url::$(cat upload_url.txt)"
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.vars.outputs.upload_url }}
asset_path: ${{ env.APP_NAME }}_${{ matrix.asset_name_suffix }}
asset_name: ${{ env.APP_NAME }}_${{ matrix.asset_name_suffix }}
asset_content_type: ${{ matrix.asset_content_type }}