2020-05-21 22:38:30 +03:00
name : Release
2020-05-21 06:31:05 +03:00
on :
2021-04-21 20:48:43 +03:00
schedule :
- cron : '0 12 * * 1-4' # every day 12:00 UTC Monday-Thursday
2020-05-26 18:01:05 +03:00
2020-07-09 16:57:17 +03:00
# manual trigger
2020-09-24 19:31:18 +03:00
workflow_dispatch :
2020-05-26 18:01:05 +03:00
2020-05-21 06:31:05 +03:00
jobs :
2020-05-26 18:01:05 +03:00
bump_version :
name : Bump Version
2020-05-21 06:31:05 +03:00
runs-on : ubuntu-latest
2020-05-26 18:01:05 +03:00
outputs :
new_tag : ${{ steps.github_tag_action.outputs.new_tag }}
changelog : ${{ steps.github_tag_action.outputs.changelog }}
2020-05-21 06:31:05 +03:00
steps :
- name : Checkout
2021-04-21 20:35:49 +03:00
uses : actions/checkout@v2
2020-05-21 21:30:31 +03:00
2020-05-21 06:31:05 +03:00
- name : Bump version and push tag
2020-05-26 18:01:05 +03:00
id : github_tag_action
2021-05-14 18:56:57 +03:00
uses : mathieudutour/github-tag-action@331898d5052eedac9b15fec867b5ba66ebf9b692
2020-05-21 06:31:05 +03:00
with :
github_token : ${{ secrets.GITHUB_TOKEN }}
release_branches : .*
2020-05-21 21:30:31 +03:00
2020-05-26 18:01:05 +03:00
create_release :
name : Create Release
runs-on : ubuntu-latest
needs : bump_version
if : ${{ needs.bump_version.outputs.new_tag != null }}
steps :
- name : Checkout
2021-04-21 20:35:49 +03:00
uses : actions/checkout@v2
2020-05-21 21:30:31 +03:00
2021-04-21 20:35:49 +03:00
- name : Set up node
uses : actions/setup-node@v2
2020-05-21 06:31:05 +03:00
with :
2021-04-21 20:35:49 +03:00
node-version : 14
2020-09-24 19:18:57 +03:00
registry-url : https://registry.npmjs.org
2020-05-21 21:30:31 +03:00
2020-05-21 06:31:05 +03:00
- name : Install dependencies
2020-07-10 22:25:15 +03:00
run : yarn install --frozen-lockfile
2020-05-21 21:30:31 +03:00
2020-05-21 06:31:05 +03:00
- name : Build the IPFS bundle
2020-06-30 20:41:51 +03:00
run : yarn build
2020-05-21 21:30:31 +03:00
2020-05-21 21:08:34 +03:00
- name : Pin to IPFS
2020-05-21 21:30:31 +03:00
id : upload
2020-07-10 22:25:15 +03:00
uses : anantaramdas/ipfs-pinata-deploy-action@39bbda1ce1fe24c69c6f57861b8038278d53688d
2020-05-21 06:31:05 +03:00
with :
2020-05-26 18:01:05 +03:00
pin-name : Uniswap ${{ needs.bump_version.outputs.new_tag }}
2020-05-21 21:08:34 +03:00
path : './build'
pinata-api-key : ${{ secrets.PINATA_API_KEY }}
pinata-secret-api-key : ${{ secrets.PINATA_API_SECRET_KEY }}
2020-05-21 21:30:31 +03:00
2021-03-26 18:03:25 +03:00
- name : Pin to Crust
uses : crustio/ipfs-crust-action@v1.0.8
continue-on-error : true
timeout-minutes : 2
with :
cid : ${{ steps.upload.outputs.hash }}
seeds : ${{ secrets.CRUST_SEEDS }}
2020-05-26 20:01:38 +03:00
- name : Convert CIDv0 to CIDv1
id : convert_cidv0
uses : uniswap/convert-cidv0-cidv1@v1.0.0
with :
cidv0 : ${{ steps.upload.outputs.hash }}
2020-07-27 20:33:31 +03:00
- 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 }}
2020-05-22 15:07:49 +03:00
2020-05-21 21:30:31 +03:00
- name : Create GitHub Release
2020-05-21 06:31:05 +03:00
id : create_release
uses : actions/create-release@v1.1.0
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
with :
2020-05-26 18:01:05 +03:00
tag_name : ${{ needs.bump_version.outputs.new_tag }}
release_name : Release ${{ needs.bump_version.outputs.new_tag }}
2020-05-21 06:31:05 +03:00
body : |
2020-06-10 20:55:35 +03:00
IPFS hash of the deployment :
2020-05-26 20:01:38 +03:00
- CIDv0 : `${{ steps.upload.outputs.hash }}`
- CIDv1 : `${{ steps.convert_cidv0.outputs.cidv1 }}`
2020-05-21 06:31:05 +03:00
2020-06-25 03:33:26 +03:00
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.
2021-05-13 20:17:34 +03:00
**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.
2020-05-23 23:07:23 +03:00
2021-05-13 20:17:34 +03:00
IPFS gateways :
2020-05-26 20:17:53 +03:00
- https://${{ steps.convert_cidv0.outputs.cidv1 }}.ipfs.dweb.link/
2020-07-14 18:06:52 +03:00
- https://${{ steps.convert_cidv0.outputs.cidv1 }}.ipfs.cf-ipfs.com/
2020-05-23 23:07:23 +03:00
- [ ipfs://${{ steps.upload.outputs.hash }}/](ipfs://${{ steps.upload.outputs.hash }}/)
2020-10-01 19:21:48 +03:00
${{ needs.bump_version.outputs.changelog }}