name: pipeline run-name: ${{Β gitea.actor }} is running script runs-on: ubuntu-latest on: [push] image: python:3.10 jobs: # demo: # runs-on: ubuntu-latest # steps: # - run: echo "πŸŽ‰ The job was automatically triggered by a ${{ gitea.event_name }} event." # - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" # - run: echo "πŸ”Ž The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." # - name: Check out repository code # uses: actions/checkout@v3 # - run: echo "πŸ’‘ The ${{ gitea.repository }} repository has been cloned to the runner." # - run: echo "πŸ–₯️ The workflow is now ready to test your code on the runner." # - name: List files in the repository # run: | # ls ${{ gitea.workspace }} # - run: echo "🍏 This job's status is ${{ job.status }}." test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Python 3.10 uses: https://github.com/actions/setup-python@v3 with: python-version: "3.10" architecture: "x64" - name: Install Packages run: | python -m pip install --upgrade pip pip install flake8 mypy pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: PEP8 check run: | flake8 ./code --benchmark --exit-zero - name: Type check run: | mypy ./code deploy: name: Deploy runs-on: ubuntu-latest needs: [test] if: gitea.ref == 'refs/heads/release' env: repository_host: 192.168.1.2:5000 repository_name: ${{ gitea.repository }} repository_tag: latest steps: - uses: actions/checkout@v3 - name: Build run: docker build . --file Dockerfile --tag ${repository_name}:${repository_tag} - name: Tag run: docker tag ${repository_name}:${repository_tag} ${repository_host}/${repository_name}:${repository_tag} - name: Push run: | cat /etc/docker/daemon.json docker push ${repository_host}/${repository_name}:${repository_tag}