name: Publish on: push: tags: - "v*" jobs: publish: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install build tools run: pip install build twine - name: Build core package run: python -m build packages/foreignthon - name: Build Spanish pack run: python -m build packages/langs/es - name: Publish to PyPI env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} run: | twine upload packages/foreignthon/dist/* twine upload packages/langs/es/dist/* - name: Create Gitea release with assets env: GIT_RELEASE_TOKEN: ${{ secrets.GIT_RELEASE_TOKEN }} run: | TAG=${GITHUB_REF#refs/tags/} echo "Tag is: $TAG" RELEASE=$(curl -s -X POST \ -H "Authorization: token $GIT_RELEASE_TOKEN" \ -H "Content-Type: application/json" \ -d "{ \"tag_name\": \"$TAG\", \"name\": \"$TAG\", \"body\": \"Release $TAG\", \"draft\": false, \"prerelease\": false }" \ "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases") echo "Gitea API response: $RELEASE" RELEASE_ID=$(echo $RELEASE | python -c "import sys,json; print(json.load(sys.stdin)['id'])") for FILE in packages/foreignthon/dist/* packages/langs/es/dist/*; do curl -s -X POST \ -H "Authorization: token $GIT_RELEASE_TOKEN" \ -F "attachment=@$FILE" \ "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases/$RELEASE_ID/assets" done