From 39b6983a6804be7fc9ea479ea05a2154c8c8bd9d Mon Sep 17 00:00:00 2001 From: Luca Foppiano Date: Thu, 26 Oct 2023 09:55:18 +0900 Subject: [PATCH] add release ci, update build --- .github/workflows/ci-build.yml | 14 +----- .github/workflows/ci-release.yml | 78 ++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/ci-release.yml diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index c843296..e9e1628 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -30,16 +30,4 @@ jobs: flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics # - name: Test with pytest # run: | -# pytest - - docker-build-documentqa: - needs: [build] - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Build the Docker image - run: docker build . --file Dockerfile --tag lfoppiano/documentqa:develop - - name: Cleanup older than 24h images and containers - run: docker system prune --filter "until=24h" --force \ No newline at end of file +# pytest \ No newline at end of file diff --git a/.github/workflows/ci-release.yml b/.github/workflows/ci-release.yml new file mode 100644 index 0000000..a197f1e --- /dev/null +++ b/.github/workflows/ci-release.yml @@ -0,0 +1,78 @@ +name: Build release + +on: + workflow_dispatch: + push: + tags: + - 'v*' + +concurrency: + group: docker + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: "3.9" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install --upgrade flake8 pytest pycodestyle + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + # - name: Test with pytest + # run: | + # pytest + + - name: Build and Publish to PyPI + use: conchylicultor/pypi-build-publish@v1 + with: + pypi-token: ${{ secrets.PYPI_API_TOKEN }} + + +docker-build-documentqa: + needs: [build] + + runs-on: ubuntu-latest + + steps: + - name: Set tags + id: set_tags + run: | + DOCKER_IMAGE=lfoppiano/grobid-superconductors + VERSION="" + if [[ $GITHUB_REF == refs/tags/v* ]]; then + VERSION=${GITHUB_REF#refs/tags/v} + fi + if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + TAGS="${VERSION}" + else + TAGS="latest" + fi + echo "TAGS=${TAGS}" + echo ::set-output name=tags::${TAGS} + - name: Create more disk space + run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" + - uses: actions/checkout@v2 + - name: Build and push + id: docker_build + uses: mr-smithers-excellent/docker-build-push@v5 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + image: lfoppiano/grobid-superconductors + registry: docker.io + pushImage: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.set_tags.outputs.tags }} + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} \ No newline at end of file