2020-05-21 22:38:30 +03:00
name : Release
2020-05-21 06:31:05 +03:00
on :
2022-07-02 01:26:42 +03:00
# Scheduled deploys are disabled until they can be tested. This is currently blocked on flaky cypress tests.
# schedule:
# - cron: '0 12 * * 1-4' # every day 12:00 UTC Monday-Thursday
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 :
2022-07-05 18:48:33 +03:00
# wait-on-test:
# runs-on: ubuntu-latest
# steps:
# - uses: jitterbit/await-check-suites@v1
# with:
# # Only wait for the first check suite, so that only tests are awaited, and not eg crowdin.
# onlyFirstCheckSuite: true
2022-07-02 01:05:37 +03:00
tag :
2022-07-05 18:50:28 +03:00
# needs: wait-on-test
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 :
2022-06-17 00:42:18 +03:00
- uses : actions/checkout@v3
2022-07-02 01:05:37 +03:00
- name : Bump and tag
id : github-tag-action
uses : mathieudutour/github-tag-action@v6.0
2020-05-21 06:31:05 +03:00
with :
github_token : ${{ secrets.GITHUB_TOKEN }}
release_branches : .*
2022-07-02 01:05:37 +03:00
default_bump : patch
2020-05-21 21:30:31 +03:00
2022-07-02 01:05:37 +03:00
release :
needs : tag
if : ${{ needs.tag.outputs.new_tag != null }}
2020-05-26 18:01:05 +03:00
runs-on : ubuntu-latest
steps :
2022-06-17 00:42:18 +03:00
- uses : actions/checkout@v3
2022-07-02 01:05:37 +03:00
- uses : ./.github/actions/setup
2022-06-17 00:42:18 +03:00
- run : yarn prepare
- run : yarn build
2020-05-21 21:30:31 +03:00
2020-05-21 21:08:34 +03:00
- name : Pin to IPFS
2022-07-02 01:05:37 +03:00
id : pinata
2020-07-10 22:25:15 +03:00
uses : anantaramdas/ipfs-pinata-deploy-action@39bbda1ce1fe24c69c6f57861b8038278d53688d
2020-05-21 06:31:05 +03:00
with :
2022-07-02 01:05:37 +03:00
pin-name : Uniswap ${{ needs.tag.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
2021-09-07 17:37:07 +03:00
uses : crustio/ipfs-crust-action@v2.0.3
2021-03-26 18:03:25 +03:00
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
2022-07-02 01:05:37 +03:00
id : convert-cidv0
2020-05-26 20:01:38 +03:00
uses : uniswap/convert-cidv0-cidv1@v1.0.0
with :
2022-07-02 01:05:37 +03:00
cidv0 : ${{ steps.pinata.outputs.hash }}
2022-06-29 01:40:33 +03:00
2022-07-02 01:05:37 +03:00
- uses : actions/cache@v3
id : cypress-cache
with :
path : /home/runner/.cache/Cypress
key : ${{ runner.os }}-cypress-${{ hashFiles('node_modules/cypress') }}
- if : steps.cypress-cache.outputs.cache-hit != 'true'
run : yarn cypress install
- uses : cypress-io/github-action@v4
with :
install : false
browser : chrome
spec : cypress/e2e/landing.test.ts
config : pageLoadTimeout=180000,retries=4,baseUrl=https://cloudflare-ipfs.com/ipfs/${{ steps.pinata.outputs.hash }}
2020-05-26 20:01:38 +03:00
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 :
2022-07-02 01:05:37 +03:00
cid : ${{ steps.pinata.outputs.hash }}
2020-05-22 15:07:49 +03:00
2022-07-02 01:05:37 +03:00
- name : Release
2020-05-21 06:31:05 +03:00
uses : actions/create-release@v1.1.0
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
with :
2022-07-02 01:05:37 +03:00
tag_name : ${{ needs.tag.outputs.new_tag }}
release_name : Release ${{ needs.tag.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 :
2022-07-02 01:05:37 +03:00
- CIDv0 : `${{ steps.pinata.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 :
2022-07-02 01:05:37 +03:00
- 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.pinata.outputs.hash }}/)
2020-05-23 23:07:23 +03:00
2022-07-02 01:05:37 +03:00
${{ needs.tag.outputs.changelog }}