Revision 9e599dd6196ea4ba10fcc21f9c2fde4356b5112e authored by Steve Von Worley on 10 January 2023, 22:35:49 UTC, committed by GitHub on 10 January 2023, 22:35:49 UTC
1 parent a558de0
Raw File
macos_instructions.yml
# actionOnlyInformation contains information necessary for the GitHub action to run,
# but not useful to an end user

# setupInformation contains two different keys,
# 1. Text
#   This is displayed only in README.md and is pasted exactly into README.md, this means
#   that any md formatting must be made to the text in the text field.
#   For example:
#   text: ### This is a heading
#
# 2. Code
#   The key run is the only field pasted into README.md. All the fields are added
#   to the end of the steps in macos_installation_instruction.yml.
#   NOTE: Do not have multiline code, this will cause problems for github actions, instead use ';'s
#   scripts/macos-instructions.sh will substitute each ';' for a new line in README.md.
#   NOTE: "|| true" will be removed from the code shown on README.md

actionOnlyInformation:
    name: Verify MacOS Installation Instructions
    # The file macos_installation_instructions.yml is generated with the script scripts/macos-instructions.sh
    on:
      schedule:
        - cron: '30 12 * * 1'  #  This is every Monday at 5:30am PST/8:30am EST

    jobs:
      build:
        runs-on: macos-latest
        steps:
          - name: Checkout dockstore/dockstore
            uses: actions/checkout@v3
            with:
              repository: dockstore/dockstore
              path: dockstore
          - name: Checkout dockstore/dockstore-ui2
            uses: actions/checkout@v3
            with:
              repository: dockstore/dockstore-ui2
              path: dockstore-ui2
          - name: Setup Java
            uses: actions/setup-java@v3
            with:
              distribution: 'temurin'
              java-version: '17'
setupInformation:
    - text: '### Setting up a Mac for Dockstore development'
    - text: Install Docker (Be sure to click on 'Mac with Apple chip' if you have Apple silicon)
    - text: https://docs.docker.com/desktop/mac/install/
    - newLine: 1
    - text: Install Brew
    - text: https://brew.sh/
    - code:
        run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    - newLine: 1
    - text: Run 'git' to trigger the install of Xcode or the Command Line Tools which will install and or update git
    - text:  https://developer.apple.com/forums/thread/672087?answerId=659036022#659036022
    - code:
        run: git || true
    - text: _(If that doesn't work install git manually https://git-scm.com/download/mac)_
    - newLine: 2
    - text: Setup git user information
    - code:
        run: git config --global user.email "you@example.com";git config --global user.name "Your Name" # ; will be replaced with new lines in README.md
    - text: |
        [Read about git token requirements](https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/)
    - text: |
        [Setup personal access token for git CLI](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
    - text: |
       [It's helpful to cache your git personal access token](https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git)
    - text: Install Hubflow
    - text: https://datasift.github.io/gitflow/TheHubFlowTools.html
    - code:
        run: git clone https://github.com/datasift/gitflow;cd gitflow;sudo ./install.sh # ; will be replaced with new lines in README.md
    - newLine: 1
    - text: Install JDK 17
    - text: https://formulae.brew.sh/formula/openjdk@17
    - code:
        run: brew install openjdk@17
    - text: Download and install node.js
    - text: https://github.com/nvm-sh/nvm
    - code:
        run: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    - text: Install git secrets
    - text: https://github.com/awslabs/git-secrets
    - code:
        run: brew install git-secrets
    - text: Install wget
    - code:
        run: brew install wget
    - newLine: 1
    - text: Install jq
    - code:
        run: brew install jq
    - text: '#### Build the webservice'
    - text: (cd to where you cloned the dockstore/dockstore repo)
    - code:
        run: ./mvnw clean install
        working-directory: dockstore # Where dockstore/dockstore was cloned by actions/checkout@v3
    - newLine: 1
    - text: '#### Build the UI'
    - text: (cd to where you cloned the dockstore/dockstore-ui2 repo)
    - newLine: 1
    - text: Set up UI requirements
    - text: 'NOTE: You must use the --legacy-peer-deps switch due to using npm version 8.11.0 (> npm 6) '
    - text: for reasons mentioned in [this post](https://stackoverflow.com/questions/66239691/what-does-npm-install-legacy-peer-deps-do-exactly-when-is-it-recommended-wh)
    - code:
        run: npm ci --legacy-peer-deps
        working-directory: dockstore-ui2 # Where dockstore/dockstore-ui2 was cloned by actions/checkout@v3
    - newLine: 1
    - text: Run build
    - code:
        run: npm run build
        working-directory: dockstore-ui2
    - text: '#### Optional'
    - text: Install IntelliJ _(if on Apple Silicon, select the .dmg (Apple Silicon), otherwise select .dmg(Intel)_
    - newLine: 1
    - text: https://www.jetbrains.com/idea/download/#section=mac
    - newLine: 1
    - text: Add the Scala plugin to IntelliJ
    - text: https://www.jetbrains.com/help/idea/managing-plugins.html
    - newLine: 1
back to top