Skip to content

Commit

Permalink
dev(narugo): add README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
narugo1992 committed Dec 25, 2023
1 parent 9f68c65 commit c7d50fc
Show file tree
Hide file tree
Showing 4 changed files with 396 additions and 0 deletions.
131 changes: 131 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,134 @@ jobs:
tag: ${{ github.ref }}
overwrite: true
file_glob: true

release_cli:
name: CLI Build And Release
runs-on: ${{ matrix.os }}
if: "!contains(github.event.head_commit.message, 'ci skip')"
strategy:
fail-fast: false
matrix:
os:
- 'ubuntu-20.04'
- 'windows-2019'
- 'macos-11'
python-version:
- '3.8.0'

steps:
- name: Get system version for Linux
if: ${{ contains(matrix.os, 'ubuntu') }}
shell: bash
run: |
echo "OS_NAME=Linux" >> $GITHUB_ENV
echo "IS_WIN=" >> $GITHUB_ENV
echo "IS_MAC=" >> $GITHUB_ENV
- name: Get system version for Windows
if: ${{ contains(matrix.os, 'windows') }}
shell: bash
run: |
echo "OS_NAME=Windows" >> $GITHUB_ENV
echo "IS_WIN=1" >> $GITHUB_ENV
echo "IS_MAC=" >> $GITHUB_ENV
- name: Get system version for MacOS
if: ${{ contains(matrix.os, 'macos') }}
shell: bash
run: |
echo "OS_NAME=MacOS" >> $GITHUB_ENV
echo "IS_WIN=" >> $GITHUB_ENV
echo "IS_MAC=1" >> $GITHUB_ENV
- name: Set environment for Cpython
if: ${{ !contains(matrix.python-version, 'pypy') }}
shell: bash
run: |
echo "IS_PYPY=" >> $GITHUB_ENV
- name: Set environment for PyPy
if: ${{ contains(matrix.python-version, 'pypy') }}
shell: bash
run: |
echo "IS_PYPY=1" >> $GITHUB_ENV
- name: Checkout code
uses: actions/[email protected]
with:
fetch-depth: 20
submodules: 'recursive'
- name: Set up system dependencies on Linux
if: ${{ env.OS_NAME == 'Linux' }}
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y tree cloc wget curl make zip
- name: Set up system dependencies on Windows
if: ${{ env.OS_NAME == 'Windows' }}
shell: bash
run: |
choco install tree cloc wget curl make zip
- name: Set up system dependencies on MacOS
if: ${{ env.OS_NAME == 'MacOS' }}
run: |
brew install tree cloc wget curl make zip
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-build.txt
- name: Test the basic environment
shell: bash
run: |
python -V
pip --version
pip list
tree .
- name: Get package version
shell: bash
run: |
python -c 'from hfutils.config.meta import __VERSION__;print(__VERSION__)'
echo "PACKAGE_VERSION=$(python -c 'from hfutils.config.meta import __VERSION__;print(__VERSION__)')" >> $GITHUB_ENV
echo "GIT_COMMIT_ID=$(echo ${GITHUB_SHA} | cut -c1-7)" >> $GITHUB_ENV
echo "PYTHON_VERSION=$(python -V | xargs -n 1 | tail -1)" >> $GITHUB_ENV
echo "CPU_ARCH=$(uname -m)" >> $GITHUB_ENV
- name: Get CLI name
shell: bash
run: |
echo "ZIP_NAME=hfutils-v${{ env.PACKAGE_VERSION }}-${{ env.OS_NAME }}-${{ env.CPU_ARCH }}-${{ env.GIT_COMMIT_ID }}-standalone" >> $GITHUB_ENV
echo "CLI_NAME=hfutils-v${{ env.PACKAGE_VERSION }}-${{ env.OS_NAME }}-${{ env.CPU_ARCH }}" >> $GITHUB_ENV
- name: Build standalone cli on Linux and MacOS
if: ${{ env.OS_NAME != 'Windows' }}
shell: bash
run: |
make build
mkdir -p dist/${{ env.CLI_NAME }}
cp dist/hfutils dist/${{ env.CLI_NAME }}/hfutils
cd dist
zip -r ${{ env.ZIP_NAME }}.zip ${{ env.CLI_NAME }}
cd ..
ls -al dist
dist/hfutils -v
dist/hfutils -h
- name: Build standalone CLI on Windows
if: ${{ env.OS_NAME == 'Windows' }}
shell: bash
run: |
make build
mkdir -p dist/${{ env.CLI_NAME }}
cp dist/hfutils.exe dist/${{ env.CLI_NAME }}/hfutils.exe
cd dist
zip -r ${{ env.ZIP_NAME }}.zip ${{ env.CLI_NAME }}
cd ..
ls -al dist
dist/hfutils -v
dist/hfutils -h
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: dist/${{ env.ZIP_NAME }}.zip
asset_name: ${{ env.ZIP_NAME }}.zip
tag: ${{ github.ref }}
overwrite: true
128 changes: 128 additions & 0 deletions .github/workflows/release_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,131 @@ jobs:
with:
name: build-artifacts-source-pack
path: ./dist/*

release_cli:
name: CLI Build And Release
runs-on: ${{ matrix.os }}
if: "!contains(github.event.head_commit.message, 'ci skip')"
strategy:
fail-fast: false
matrix:
os:
- 'ubuntu-20.04'
- 'windows-2019'
- 'macos-11'
python-version:
- '3.8.0'

steps:
- name: Get system version for Linux
if: ${{ contains(matrix.os, 'ubuntu') }}
shell: bash
run: |
echo "OS_NAME=Linux" >> $GITHUB_ENV
echo "IS_WIN=" >> $GITHUB_ENV
echo "IS_MAC=" >> $GITHUB_ENV
- name: Get system version for Windows
if: ${{ contains(matrix.os, 'windows') }}
shell: bash
run: |
echo "OS_NAME=Windows" >> $GITHUB_ENV
echo "IS_WIN=1" >> $GITHUB_ENV
echo "IS_MAC=" >> $GITHUB_ENV
- name: Get system version for MacOS
if: ${{ contains(matrix.os, 'macos') }}
shell: bash
run: |
echo "OS_NAME=MacOS" >> $GITHUB_ENV
echo "IS_WIN=" >> $GITHUB_ENV
echo "IS_MAC=1" >> $GITHUB_ENV
- name: Set environment for Cpython
if: ${{ !contains(matrix.python-version, 'pypy') }}
shell: bash
run: |
echo "IS_PYPY=" >> $GITHUB_ENV
- name: Set environment for PyPy
if: ${{ contains(matrix.python-version, 'pypy') }}
shell: bash
run: |
echo "IS_PYPY=1" >> $GITHUB_ENV
- name: Checkout code
uses: actions/[email protected]
with:
fetch-depth: 20
submodules: 'recursive'
- name: Set up system dependencies on Linux
if: ${{ env.OS_NAME == 'Linux' }}
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y tree cloc wget curl make zip
- name: Set up system dependencies on Windows
if: ${{ env.OS_NAME == 'Windows' }}
shell: bash
run: |
choco install tree cloc wget curl make zip
- name: Set up system dependencies on MacOS
if: ${{ env.OS_NAME == 'MacOS' }}
run: |
brew install tree cloc wget curl make zip
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements-build.txt
- name: Test the basic environment
shell: bash
run: |
python -V
pip --version
pip list
tree .
- name: Get package version
shell: bash
run: |
python -c 'from hfutils.config.meta import __VERSION__;print(__VERSION__)'
echo "PACKAGE_VERSION=$(python -c 'from hfutils.config.meta import __VERSION__;print(__VERSION__)')" >> $GITHUB_ENV
echo "GIT_COMMIT_ID=$(echo ${GITHUB_SHA} | cut -c1-7)" >> $GITHUB_ENV
echo "PYTHON_VERSION=$(python -V | xargs -n 1 | tail -1)" >> $GITHUB_ENV
echo "CPU_ARCH=$(uname -m)" >> $GITHUB_ENV
- name: Get CLI name
shell: bash
run: |
echo "ZIP_NAME=hfutils-v${{ env.PACKAGE_VERSION }}-${{ env.OS_NAME }}-${{ env.CPU_ARCH }}-${{ env.GIT_COMMIT_ID }}-standalone" >> $GITHUB_ENV
echo "CLI_NAME=hfutils-v${{ env.PACKAGE_VERSION }}-${{ env.OS_NAME }}-${{ env.CPU_ARCH }}" >> $GITHUB_ENV
- name: Build standalone cli on Linux and MacOS
if: ${{ env.OS_NAME != 'Windows' }}
shell: bash
run: |
make build
mkdir -p dist/${{ env.CLI_NAME }}
cp dist/hfutils dist/${{ env.CLI_NAME }}/hfutils
cd dist
zip -r ${{ env.ZIP_NAME }}.zip ${{ env.CLI_NAME }}
cd ..
ls -al dist
dist/hfutils -v
dist/hfutils -h
- name: Build standalone CLI on Windows
if: ${{ env.OS_NAME == 'Windows' }}
shell: bash
run: |
make build
mkdir -p dist/${{ env.CLI_NAME }}
cp dist/hfutils.exe dist/${{ env.CLI_NAME }}/hfutils.exe
cd dist
zip -r ${{ env.ZIP_NAME }}.zip ${{ env.CLI_NAME }}
cd ..
ls -al dist
dist/hfutils -v
dist/hfutils -h
- name: Upload packed files to artifacts
uses: actions/upload-artifact@v2
with:
name: hfutils-v${{ env.PACKAGE_VERSION }}-${{ env.OS_NAME }}-${{ env.CPU_ARCH }}-${{ env.GIT_COMMIT_ID }}
path: ./dist/*
1 change: 1 addition & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ name: Code Test

on:
- push
- workflow_dispatch

jobs:
unittest:
Expand Down
Loading

0 comments on commit c7d50fc

Please sign in to comment.