mozilla-mobile / mobile-test-eng

Task tracking for Mobile Test Engineering Team
2 stars 0 forks source link

[Notifications/Alerts] #106

Open rpappalax opened 3 years ago

rpappalax commented 3 years ago

Automate Xcode build Firefox iOS

We could do this checking in bitrise.yml config into repo:

https://devcenter.bitrise.io/tips-and-tricks/use-bitrise-yml-from-repository/

pdehaan commented 3 years ago

Not sure if Apple has an official feed, but a quick Bing! search returned https://xcodereleases.com/; they seem to even have an API: https://xcodereleases.com/data.json

const axios = require("axios");

main();

async function main() {
  const feedUri = "https://xcodereleases.com/data.json"
  const res = await axios.get(feedUri);
  const releases = res.data.slice(0, 10);

  for (const release of releases) {
    const releaseDate = new Date(release.date.year, release.date.month -1, release.date.day);
    const tag = Object.entries(release.version.release).map(([name, label]) => `${name} ${label}`).join("; ");
    console.log(`[${releaseDate.toLocaleDateString()}] ${release.name} ${release.version.number} (${release.version.build}; ${tag}) -- Requires: ${release.requires}`);
    console.log(`  - ${release.links.download.url}\n`);
  }
}

OUTPUT

[2020-09-15] Xcode 12.0 (12A7209; gmSeed 1) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_GM_seed/Xcode_12_GM_seed.xip

[2020-08-25] Xcode 12.0 (12A8189n; beta 6) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_beta_6/Xcode_12_beta_6.xip

[2020-08-18] Xcode 12.0 (12A8189h; beta 5) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_beta_5/Xcode_12_beta_5.xip

[2020-08-04] Xcode 12.0 (12A8179i; beta 4) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_beta_4/Xcode_12_beta_4.xip

[2020-07-22] Xcode 12.0 (12A8169g; beta 3) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_beta_3/Xcode_12_beta_3.xip

[2020-07-07] Xcode (Universal) 12.0 (12A8161k; beta 2) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_for_macOS_Universal_Apps_beta_2/Xcode_12_for_macOS_Universal_Apps_beta_2.xip

[2020-07-07] Xcode 12.0 (12A6163b; beta 2) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_beta_2/Xcode_12_beta_2.xip

[2020-06-22] Xcode (Universal) 12.0 (12A8158a; beta 1) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_for_macOS_Universal_Apps_beta/Xcode_12_for_macOS_Universal_Apps_beta.xip

[2020-06-22] Xcode 12.0 (12A6159; beta 1) -- Requires: 10.15.4
  - https://download.developer.apple.com/Developer_Tools/Xcode_12_beta/Xcode_12_beta.xip

[2020-09-01] Xcode 11.7 (11E801a; gm true) -- Requires: 10.15.2
  - https://download.developer.apple.com/Developer_Tools/Xcode_11.7/Xcode_11.7.xip
pdehaan commented 3 years ago

Converted this to an npm module which you can run directly from my repo via npx pdehaan/xcodefeed:

CHANNELS=gm,gmSeed COUNT=2 npx pdehaan/xcodefeed

[2020-09-17] Xcode 12.0 (12A7209; gm) -- Requires: 10.15.4
https://download.developer.apple.com/Developer_Tools/Xcode_12/Xcode_12.xip

[2020-09-15] Xcode 12.0 (12A7209; gmSeed 1) -- Requires: 10.15.4
https://download.developer.apple.com/Developer_Tools/Xcode_12_GM_seed/Xcode_12_GM_seed.xip

Probably not helpful in the least (since it [1] isn't in Python, [2] doesn't consider download/install/build anything), but it's fun and I'm on PTO.

AaronMT commented 3 years ago

https://github.com/bitrise-io/bitrise.io/tree/master/system_reports

Doc

rpappalax commented 3 years ago
  1. Create python script to query Bitrise API for latest XCode available - DONE
  2. Create Bitrise workflow to run [1] - DONE
  3. Cache results - DONE
  4. Modify bitrise.yml meta:stack value - IN-PROGRESS
  5. Verify cache, conditionally build+test firefox-ios
  6. Slack build results to firefox-iOS channel