From b52ccc3690f919bae4407374d961484650078899 Mon Sep 17 00:00:00 2001 From: yanyongyu Date: Thu, 13 Jan 2022 16:41:01 +0800 Subject: [PATCH] :construction_worker: reuse workflow setup step --- .github/actions/setup-node/action.yml | 21 ++++++++++++++ .github/actions/setup-python/action.yml | 20 +++++++++++++ .github/workflows/codecov.yml | 17 ++--------- .github/workflows/release-plugin-docs.yml | 32 +++------------------ .github/workflows/release.yml | 35 +++-------------------- .github/workflows/website-deploy.yml | 32 +++------------------ 6 files changed, 55 insertions(+), 102 deletions(-) create mode 100644 .github/actions/setup-node/action.yml create mode 100644 .github/actions/setup-python/action.yml diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml new file mode 100644 index 00000000..2373417b --- /dev/null +++ b/.github/actions/setup-node/action.yml @@ -0,0 +1,21 @@ +name: Setup Node +description: Setup Node + +runs: + using: "composite" + steps: + - uses: actions/setup-node@v2 + with: + node-version: "16" + + - id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + shell: bash + + - uses: actions/cache@v2 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + + - run: yarn install + shell: bash diff --git a/.github/actions/setup-python/action.yml b/.github/actions/setup-python/action.yml new file mode 100644 index 00000000..b55ffc50 --- /dev/null +++ b/.github/actions/setup-python/action.yml @@ -0,0 +1,20 @@ +name: Setup Python +description: Setup Python + +runs: + using: "composite" + steps: + - uses: actions/setup-python@v2 + with: + python-version: "3.9" + architecture: "x64" + + - uses: Gr1N/setup-poetry@v7 + + - uses: actions/cache@v2 + with: + path: ~/.cache/pypoetry/virtualenvs + key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} + + - run: poetry install -E all + shell: bash diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index 22d9c8de..865b68cf 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -11,21 +11,8 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Python environment - uses: actions/setup-python@v2 - with: - python-version: "3.9" - architecture: "x64" - - - uses: Gr1N/setup-poetry@v7 - - - uses: actions/cache@v2 - with: - path: ~/.cache/pypoetry/virtualenvs - key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} - - - name: Install dependencies - run: poetry install -E all + - name: Setup Python environment + uses: ./.github/actions/setup-python - name: Run Pytest run: | diff --git a/.github/workflows/release-plugin-docs.yml b/.github/workflows/release-plugin-docs.yml index 66034f44..cbeb2120 100644 --- a/.github/workflows/release-plugin-docs.yml +++ b/.github/workflows/release-plugin-docs.yml @@ -12,40 +12,16 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.9" - architecture: "x64" + - name: Setup Python Environment + uses: ./.github/actions/setup-python - - uses: Gr1N/setup-poetry@v7 - - - uses: actions/cache@v2 - with: - path: ~/.cache/pypoetry/virtualenvs - key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} - - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: "16" - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - name: Cache Packages - uses: actions/cache@v2 - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + - name: Setup Node Environment + uses: ./.github/actions/setup-node - name: Install and build run: | - poetry install -E all poetry run sphinx-build -M markdown ./docs_build ./build cp -r ./build/markdown/* ./website/docs/api/ - yarn install yarn prettier yarn build:plugin --out-dir ../packages/nonebot-plugin-docs/nonebot_plugin_docs/dist diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6442e246..013b8db6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,37 +13,11 @@ jobs: ref: master token: ${{ secrets.GH_TOKEN }} - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.9" - architecture: "x64" + - name: Setup Python Environment + uses: ./.github/actions/setup-python - - uses: Gr1N/setup-poetry@v7 - - - uses: actions/cache@v2 - with: - path: ~/.cache/pypoetry/virtualenvs - key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} - - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: "16" - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - name: Cache Packages - uses: actions/cache@v2 - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - - - name: Set up dependencies - run: | - poetry install -E all + - name: Setup Node Environment + uses: ./.github/actions/setup-node - name: Build Doc run: poetry run sphinx-build -M markdown ./docs_build ./build @@ -53,7 +27,6 @@ jobs: - name: Archive Files run: | - yarn install yarn prettier yarn archive $(poetry version -s) diff --git a/.github/workflows/website-deploy.yml b/.github/workflows/website-deploy.yml index 71f97659..16b301f2 100644 --- a/.github/workflows/website-deploy.yml +++ b/.github/workflows/website-deploy.yml @@ -17,40 +17,16 @@ jobs: with: ref: ${{ github.event.pull_request.head.sha }} - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: "3.9" - architecture: "x64" + - name: Setup Python Environment + uses: ./.github/actions/setup-python - - uses: Gr1N/setup-poetry@v7 - - - uses: actions/cache@v2 - with: - path: ~/.cache/pypoetry/virtualenvs - key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} - - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: "16" - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - name: Cache Packages - uses: actions/cache@v2 - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + - name: Setup Node Environment + uses: ./.github/actions/setup-node - name: Install and build run: | - poetry install -E all poetry run sphinx-build -M markdown ./docs_build ./build cp -r ./build/markdown/* ./website/docs/api/ - yarn install yarn prettier yarn build