name: Assign IDs on: push: branches: master jobs: assign-ids: name: Assign IDs runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Cache cargo bin uses: actions/cache@v1 with: path: ~/.cargo/bin key: rustsec-admin-v0.3.4 - name: Install rustsec-admin run: | if [ ! -f $HOME/.cargo/bin/rustsec-admin ]; then cargo install rustsec-admin --vers 0.3.4 fi - name: Assign IDs id: assign run: | message=$(rustsec-admin assign-id --github-actions-output) echo "::set-output name=commit_message::${message}" - name: Create duplicate ID assignment guard run: | echo "This file causes merge conflicts if two ID assignment jobs run concurrently." > .duplicate-id-guard echo "This prevents duplicate ID assignment due to a race between those jobs." >> .duplicate-id-guard ls -R . | sha256sum >> .duplicate-id-guard - name: Lint advisories run: rustsec-admin lint - name: Create pull request uses: peter-evans/create-pull-request@v3 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: ${{ steps.assign.outputs.commit_message }} title: ${{ steps.assign.outputs.commit_message }} branch: assign-ids