Release #44
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
schedule: | |
- cron: '0 12 * * 1-4' # every day 12:00 UTC Monday-Thursday | |
# manual trigger | |
workflow_dispatch: | |
jobs: | |
bump_version: | |
name: Bump Version | |
runs-on: ubuntu-latest | |
outputs: | |
new_tag: ${{ steps.github_tag_action.outputs.new_tag }} | |
changelog: ${{ steps.github_tag_action.outputs.changelog }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Bump version and push tag | |
id: github_tag_action | |
uses: mathieudutour/github-tag-action@331898d5052eedac9b15fec867b5ba66ebf9b692 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
release_branches: .* | |
create_release: | |
name: Create Release | |
runs-on: ubuntu-latest | |
needs: bump_version | |
if: ${{ needs.bump_version.outputs.new_tag != null }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 14 | |
registry-url: https://registry.npmjs.org | |
- name: Install dependencies | |
run: yarn install --frozen-lockfile | |
- name: Build the IPFS bundle | |
run: yarn build | |
- name: Pin to IPFS | |
id: upload | |
uses: anantaramdas/ipfs-pinata-deploy-action@39bbda1ce1fe24c69c6f57861b8038278d53688d | |
with: | |
pin-name: Uniswap ${{ needs.bump_version.outputs.new_tag }} | |
path: './build' | |
pinata-api-key: ${{ secrets.PINATA_API_KEY }} | |
pinata-secret-api-key: ${{ secrets.PINATA_API_SECRET_KEY }} | |
- name: Pin to Crust | |
uses: crustio/[email protected] | |
continue-on-error: true | |
timeout-minutes: 2 | |
with: | |
cid: ${{ steps.upload.outputs.hash }} | |
seeds: ${{ secrets.CRUST_SEEDS }} | |
- name: Convert CIDv0 to CIDv1 | |
id: convert_cidv0 | |
uses: uniswap/[email protected] | |
with: | |
cidv0: ${{ steps.upload.outputs.hash }} | |
- name: Update DNS with new IPFS hash | |
env: | |
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} | |
RECORD_DOMAIN: 'uniswap.org' | |
RECORD_NAME: '_dnslink.app' | |
CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }} | |
uses: textileio/cloudflare-update-dnslink@0fe7b7a1ffc865db3a4da9773f0f987447ad5848 | |
with: | |
cid: ${{ steps.upload.outputs.hash }} | |
- name: Create GitHub Release | |
id: create_release | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ needs.bump_version.outputs.new_tag }} | |
release_name: Release ${{ needs.bump_version.outputs.new_tag }} | |
body: | | |
IPFS hash of the deployment: | |
- CIDv0: `${{ steps.upload.outputs.hash }}` | |
- CIDv1: `${{ steps.convert_cidv0.outputs.cidv1 }}` | |
The latest release is always accessible via our alias to the Cloudflare IPFS gateway at [app.uniswap.org](https://app.uniswap.org). | |
You can also access the Uniswap Interface directly from an IPFS gateway. | |
**BEWARE**: The Uniswap interface uses [`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) to remember your settings, such as which tokens you have imported. | |
**You should always use an IPFS gateway that enforces origin separation**, or our alias to the latest release at [app.uniswap.org](https://app.uniswap.org). | |
Your Uniswap settings are never remembered across different URLs. | |
IPFS gateways: | |
- https://${{ steps.convert_cidv0.outputs.cidv1 }}.ipfs.dweb.link/ | |
- https://${{ steps.convert_cidv0.outputs.cidv1 }}.ipfs.cf-ipfs.com/ | |
- [ipfs://${{ steps.upload.outputs.hash }}/](ipfs://${{ steps.upload.outputs.hash }}/) | |
${{ needs.bump_version.outputs.changelog }} |