Commit a1cafdad authored by narugo1992's avatar narugo1992
Browse files

dev(narugo): init repo

parent 300b3877
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
name: Badge Creation

on:
  push:
    branches: [ main, 'badge/*', 'doc/*' ]

jobs:
  update-badges:
    name: Update Badges
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [ 3.7 ]
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          fetch-depth: 20
          submodules: 'recursive'
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Download cloc
        run: |
          sudo apt-get update -y
          sudo apt-get install -y cloc
      - name: Get the Numbers
        run: |
          cloc .
          echo "CODE_LINES=$(./cloc.sh --loc)" >> $GITHUB_ENV
          echo "COMMENT_LINES=$(./cloc.sh --percentage)%" >> $GITHUB_ENV
      - name: Create Lines-of-Code-Badge
        uses: schneegans/dynamic-badges-action@v1.0.0
        with:
          auth: ${{ secrets.GIST_SECRET }}
          gistID: ${{ secrets.BADGE_GIST_ID }}
          filename: loc.json
          label: Lines of Code
          message: ${{ env.CODE_LINES }}
          color: lightgrey
      - name: Create Comments-Badge
        uses: schneegans/dynamic-badges-action@v1.0.0
        with:
          auth: ${{ secrets.GIST_SECRET }}
          gistID: ${{ secrets.BADGE_GIST_ID }}
          filename: comments.json
          label: Comments
          message: ${{ env.COMMENT_LINES }}
          color: green
+51 −0
Original line number Diff line number Diff line
name: Package Release

on:
  release:
    types: [ published ]

jobs:
  release:
    name: Publish to official pypi
    runs-on: ${{ matrix.os }}
    if: ${{ github.repository == 'deepghs/imgutils' }}
    strategy:
      matrix:
        os:
          - 'ubuntu-latest'
        python-version:
          - '3.8'

    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          fetch-depth: 20
          submodules: 'recursive'
      - name: Set up python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Set up python dependences
        run: |
          pip install --upgrade pip
          pip install --upgrade flake8 setuptools wheel twine
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
          if [ -f requirements-test.txt ]; then pip install -r requirements-test.txt; fi
          pip install --upgrade build
      - name: Build packages
        run: |
          make download
          python -m build --sdist --wheel --outdir dist/
      - name: Publish distribution 📦 to real PyPI
        uses: pypa/gh-action-pypi-publish@master
        with:
          password: ${{ secrets.PYPI_PASSWORD }}
      - name: Upload binaries to release
        uses: svenstaro/upload-release-action@v2
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          file: dist/*
          tag: ${{ github.ref }}
          overwrite: true
          file_glob: true
+46 −0
Original line number Diff line number Diff line
name: Release Test

on:
  push:
  workflow_dispatch:

jobs:
  source_release:
    name: Try package the source
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os:
          - 'ubuntu-20.04'
        python-version:
          - '3.8'

    steps:
      - name: Checkout code
        uses: actions/checkout@v3
        with:
          fetch-depth: 20
      - name: Set up python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Set up python dependences
        run: |
          pip install --upgrade pip
          pip install --upgrade flake8 setuptools wheel twine
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
          if [ -f requirements-build.txt ]; then pip install -r requirements-build.txt; fi
          if [ -f requirements-test.txt ]; then pip install -r requirements-test.txt; fi
          pip install -r requirements-crawl.txt
          pip install --upgrade build
      - name: Build packages
        run: |
          make download
          make package
          ls -al dist
      - name: Upload packed files to artifacts
        uses: actions/upload-artifact@v2
        with:
          name: build-artifacts-source-pack
          path: ./dist/*
+114 −0
Original line number Diff line number Diff line
name: Code Test

on:
  - push

jobs:
  unittest:
    name: Code test
    runs-on: ${{ matrix.os }}
    if: "!contains(github.event.head_commit.message, 'ci skip')"
    strategy:
      fail-fast: false
      matrix:
        os:
          - 'ubuntu-latest'
          - 'windows-latest'
          - 'macos-latest'
        python-version:
          - '3.7'
          - '3.8'
          - '3.9'
          - '3.10'
          - '3.11'
        exclude:
          - python-version: '3.11'

    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/checkout@v2
        with:
          fetch-depth: 20
          submodules: 'recursive'
      - name: Set up system dependences 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 dependences on Windows
        if: ${{ env.OS_NAME == 'Windows' }}
        shell: bash
        run: |
          choco install tree cloc wget curl make zip
      - name: Set up system dependences 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 --upgrade flake8 setuptools wheel twine
          pip install -r requirements.txt
          pip install -r requirements-test.txt
          pip install -r requirements-crawl.txt
      - name: Test the basic environment
        shell: bash
        run: |
          python -V
          pip --version
          pip list
          tree .
          cloc imgutils
          cloc test
      - name: Run unittest
        env:
          CI: 'true'
          REMOTE_PIXIV_SESSION_INDEX_URL: ${{ secrets.REMOTE_PIXIV_SESSION_INDEX_URL }}
        shell: bash
        run: |
          make unittest IS_WIN=${{ env.IS_WIN }} IS_MAC=${{ env.IS_MAC }}
      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v1
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          file: ./coverage.xml
          flags: unittests
          name: codecov-umbrella
          fail_ci_if_error: false
 No newline at end of file

.gitignore

0 → 100644
+1215 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading