diff --git a/.github/workflows/push_reproschema_py.yml b/.github/workflows/push_reproschema_py.yml new file mode 100644 index 000000000..6a9532af2 --- /dev/null +++ b/.github/workflows/push_reproschema_py.yml @@ -0,0 +1,50 @@ +name: Create Pull Request in Another Repository +on: + workflow_dispatch: + inputs: + version: + description: 'version number' + required: true + type: string + +jobs: + create-pull-request: + runs-on: ubuntu-latest + + steps: + - name: Check out the repository + uses: actions/checkout@v3 + - name: Set up Git and cloning repository + env: + TARGET_REPO: repronim/reproschema-py + PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + run: | + git config --global user.name "djarecka" + git config --global user.email "djarecka@gmail.com" + git clone https://x-access-token:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/$TARGET_REPO.git + - name: Make changes to target repository + id: changes + run: | + cp releases/${{ inputs.version }}/reproschema.jsonld reproschema-py/reproschema.jsonld + cd reproschema-py + git checkout -b release_${{ inputs.version }} + # TODO: change to pydantic model + # TODO: a script to change CONTEXTFILE_URL can be added + git add reproschema.jsonld + git commit -m "Add new version of the model" + cd .. + - name: Push changes to target repository + env: + TARGET_REPO: repronim/reproschema-py + PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + run: | + cd reproschema-py + git push origin release_${{ inputs.version }} + - name: Create pull request + env: + TARGET_REPO: repronim/reproschema-py + PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + run: | + curl -X POST -H "Authorization: token ${{ secrets.PERSONAL_ACCESS_TOKEN }}" \ + -d '{"title":"Automated PR: Add new version of the model: ${{ inputs.version }}", "head":"release_${{ inputs.version }}", "base":"main"}' \ + https://api.github.com/repos/$TARGET_REPO/pulls