name: NoneBot2 Publish Bot on: issues: types: [opened, reopened, edited] pull_request_target: types: [closed] issue_comment: types: [created] concurrency: group: ${{ github.workflow }}-${{ github.event.issue.number || github.run_id }} cancel-in-progress: true jobs: plugin_test: runs-on: ubuntu-latest name: nonebot2 plugin test if: github.event_name != 'issue_comment' || !github.event.issue.pull_request permissions: issues: read outputs: result: ${{ steps.plugin-test.outputs.RESULT }} output: ${{ steps.plugin-test.outputs.OUTPUT }} steps: - name: Install Poetry if: ${{ !startsWith(github.event_name, 'pull_request') }} run: pipx install poetry - name: Setup Python uses: actions/setup-python@v4 with: python-version: "3.10" - name: Test Plugin id: plugin-test run: | curl -sSL https://github.com/nonebot/nonebot2-publish-bot/releases/latest/download/plugin_test.py -o plugin_test.py python plugin_test.py publish_bot: runs-on: ubuntu-latest name: nonebot2 publish bot needs: plugin_test steps: - name: Checkout Code uses: actions/checkout@v3 with: token: ${{ secrets.GH_TOKEN }} - name: NoneBot2 Publish Bot uses: docker://ghcr.io/nonebot/nonebot2-publish-bot:latest with: token: ${{ secrets.GH_TOKEN }} config: > { "base": "master", "plugin_path": "website/static/plugins.json", "bot_path": "website/static/bots.json", "adapter_path": "website/static/adapters.json" } env: PLUGIN_TEST_RESULT: ${{ needs.plugin_test.outputs.result }} PLUGIN_TEST_OUTPUT: ${{ needs.plugin_test.outputs.output }}