Do you build things with AMP? Fill out the AMP Developer Survey!
AMP

AMP 프로젝트 로드맵

The ongoing development of AMP is conducted in working groups, each with knowledge or interest in a specific area of AMP.

To make their work visible to the community all groups provide regular status updates with details of what they have accomplished and what's up next.

All of the updates listed here are available as issues on GitHub and we'd love you to join the conversation there!

Select working groups

Infrastructure

Status Update Mon Oct 12 2020

What was accomplished

  • Internal improvements to release process, including freezing from 10/26-11/8
  • Beta browsers / OSs are included in manual testing matrix
  • Coverage data can now be collected during E2E and manual testing
  • Deployed new OpenJS CLA for ampproject (not blocking yet, will eventually replace Google CLA)
  • Fixes to package management (Yarn 1 is reaching end-of-life)
All details on GitHub

What's next

  • Design review for package management solution (Yarn 1 vs. Yarn 2 vs. NPM)
  • Test result collection and reporting for automated tests
  • Documentation for release process and error reporting
  • Syntax checks for OWNERS files
  • Continue work on ongoing release projects
All details on GitHub

Infrastructure

Status Update Mon Sep 28 2020

What was accomplished

  • IE 11 integration tests are now blocking
  • Investigated running Karma tests on an iOS simulator
  • Internal infrastructure improvements to cherry-picks and generation of visual tests
  • Upgraded custom AMP closure compiler to September, discovered crash (https://github.com/ampproject/amp-closure-compiler/issues/22#issuecomment-699145802)
All details on GitHub

What's next

  • Fix closure crash
  • Refactor internal CI code
  • Investigate alternatives that allow for iOS testing
  • Incorporate beta browsers / OSs in manual testing matrix
  • Continue with ongoing projects (coverage, release infra, compilation toolchain)
All details on GitHub

Infrastructure

Status Update Mon Sep 14 2020

What was accomplished

  • Updates to visual diff internals (plus stability fixes during release process)
  • Updates to cherry pick internals during release process
  • Initial planning for improvements to CI pipeline
  • Instrumented minified builds for code coverage measurements
All details on GitHub

What's next

  • Instrument minified runtime in dev-server and during automated testing
  • Begin consolidating code specific to CI service across build-system
  • Initial planning for reorganizing of AMP source code directories
  • Continue work on other in-flight projects
All details on GitHub

Infrastructure

Status Update Mon Aug 31 2020

What was accomplished

  • Improvements to guts of visual testing
  • Improvements to workflow for generating github releases
  • AMP can now be built and tested on Windows
  • Discovered cause of test flakes on Safari (incomplete iframe cleanup)
  • Investigated code coverage for minified builds
All details on GitHub

What's next

  • Planning for improvements to CI pipeline
  • Instrument minified builds, augment dev server middleware
  • Continue work on in-flight projects mentioned above
All details on GitHub

Infrastructure

Status Update Mon Aug 17 2020

What was accomplished

  • Started deprecating old RTVs > 6 months old
  • Started automating new release creation as part of cherry-pick workflow
  • Added a windows native compiler to ampproject/amp-closure-compiler
  • Fixed race in watch logic of default gulp server
  • New database for test case level reporting for unit / integration tests
  • Error reporting / monitoring for module/nomodule rollout
All details on GitHub

What's next

  • Infrastructure enhancements around release creation / tagging
  • Scale up visual testing
  • Publish native compiler to npm under @ampproject/amp-closure-compiler
  • Add reporting for E2E tests
  • Instrument minified code with mapping to original source code
  • Automate error report issue creation
All details on GitHub

Infrastructure

Status Update Tue May 26 2020

What was accomplished

  • Deployed Error Monitor UI (in beta)
  • gulp tasks can now programmatically build runtime during tests (#28326)
  • Established grouping & reviewer assignment for Renovate PRs (#28322)
  • Investigated / debugged disconnection failures due to Sauce Labs (#28343)
  • Added performance tests to Travis CI (#28148)
All details on GitHub

What's next

  • Move generation of release binaries to open source via gulp release
  • Automatically create issues for commonly seen runtime errors
  • Add a presubmit check for renovate configuration changes
  • Test / deploy new version of karma-sauce-launcher
All details on GitHub

Infrastructure

Status Update Mon Feb 03 2020

What we did

  • Updated amp.dev release schedule page
  • Release tagging is live (PR Use: In Stable / Beta / Experimental)
  • Updated cherry-pick template with new release channel names
  • Added a way to build only the core runtime via gulp build | dist | watch --core_runtime_only
  • Clarified process for adding amphtml dependencies using yarn
  • Triaged backlog of infrastructure issues
  • Renaming AMP_CANARY cookie to __Host-AMP_OPT_IN
All details on GitHub

What's next

  • Default minified build (gulp dist) will now add AMP_CONFIG to runtime files
  • Performance tests as part of CI / release workflow
  • Make LTS and nightly channel widely available
  • Take steps to reduce CI flakiness (sauce labs, percy)
All details on GitHub

Infrastructure

Status Update Tue Jan 21 2020

What we did

  • Updated Release documentation
  • Forbid iframe-ing experiments page to prevent clickjacking
  • Release tagging works
  • Updated / unflaked e2e tests with new selenium version
  • Enforced JSDoc-based access controls in source code
  • New --core_runtime_only flag for gulp {build|watch|dist}
  • Published Infra doc for OpenJS
All details on GitHub

What's next

  • Interactive visualization for release schedule/cadence
  • Announce / monitor LTS launch
  • Rename AMP_CANARY cookie to __Host-AMP_OPT_IN
  • Automate deployment of internal GitHub apps
  • Refactor gulp changelog
  • Integrate perf tests into CI
  • Fix Sauce Labs disconnects (with help from Karma & Sauce)
All details on GitHub

Infrastructure

Status Update Mon Jan 06 2020

What we did

  • LTS: Updated validator and other parts to support new release type
  • GH releases are now auto-published
  • WIP: Updates to release schedule
  • New cherry picking section of release dashboard
  • Network logging for E2E tests
  • Added coverage instrumentation for unminified builds
All details on GitHub

What's next

  • Wrap up docs / comms for LTS
  • Improve changelog creation
  • Network logging API for E2E tests
  • Measure code coverage during integration tests
All details on GitHub

Infrastructure

Status Update Mon Dec 09 2019

What we did

  • Release names: stable, beta, experimental, nightly, lts
  • Design reviews for nightly and lts
  • Opt-in cookie for arbitrary RTVs
  • Fixed ~5k unit / integration tests that were using global sandbox
  • Added support for checking bundle-size of all JS files
  • Legacy bluebird promise cleanup
All details on GitHub

What's next

  • Deploy automated release tagger
  • More work on LTS and nightly releases
  • Validator changes to recognize LTS releases
  • Network logging for E2E tests
  • Enforce bundle-size check for JS files that opt in
All details on GitHub

Infrastructure

Status Update Mon Nov 11 2019

What we did

  • OWNERS syntax check via API
  • Eliminating use of global sinon
  • Fixed breaks due to new Node LTS
  • Owners bot GCE → GAE (with tree, teams, and syntax guide)
  • Test infra for amp-github-apps
  • Fixed npm security vulnerabilities
  • Premium Travis VMs are live
All details on GitHub

What's next

  • Automate GitHub release creation and improve content
  • Auto-label PRs on release
  • Track bundle-size for extensions
  • Automate node LTS upgrades
  • Upgrade sinon and eliminate the use of global sandbox

All details on GitHub

Infrastructure

Status Update Mon Oct 28 2019

What we did

  • New build-pipeline check for unknown dependencies
  • Automating GitHub release publication (tracking release CLs)
  • Owners Bot migrated to AppEngine w/ virtual repository
  • Public-facing owners tree & status pages
  • New style check for non-JS files (OWNERS, docs): gulp prettify
  • Lots of small documentation fixes
All details on GitHub

What's next

  • Make owners bot repo agnostic
  • Travis check for OWNERS syntax
  • First steps on monthly release channels
  • Automate GitHub release creation and improve content
  • Track bundle-size for extensions
  • Adopt new bundle-size checker
  • Un-break amphtml-validator for users of older Node versions
  • Automate node upgrades across all package.json files
All details on GitHub

Infrastructure

Status Update Mon Oct 14 2019

What we did

  • Owners check is now blocking
  • Enabled automatic reviewer assignment
  • Added bundle-size support for arbitrary binaries / extensions
  • Reorganized build-system and repo root directory for better code ownership boundaries
  • Investigated ways to check owners file changes during CI
  • Presented 2019 Infra highlights during contributor summit
All details on GitHub

What's next

  • Deploy bundle-size checks for a few non-v0.js files
  • Investigate / fix missing PR-deploy button for some folks
  • Add a CI check for OWNERS file formatting
  • Follow up on open requests from contributor summit
All details on GitHub

Infrastructure

Status Update Tue Sep 17 2019

What we did

  • Deployed owners bot after design review
  • Owners is now a non-blocking check on Github
  • Enabled brotli size tracking via bundle-size bot (not yet default)
  • Lazy-build is default gulp mode (to disable: --eager_build)
  • Re-wrote dev server as an in-process server
  • Sauce Labs start / stop scripts supported on Linux and Mac OS
  • Fixed bug that caused frequent Travis cache corruption
All details on GitHub

What's next

  • Owners bot: always / never notify owners, auto-assign reviewers, syntax checks
  • Improve Travis greenness
  • Release tooling (“is my PR in production?”)
All details on GitHub

Infrastructure

Status Update Mon Jul 08 2019

Release quality

  • Initial version of PR deploy bot
  • Fixed amp-date-picker bug, wrote post mortem
  • Enabled dormant conformance checks for runtime code

Developer experience

  • Migrated CJS runtime deps to ESM
  • Babel transforms for multipass
  • Fixed babel global transform config
  • Fixed gulp watch bug (cancel on compilation error)
All details on GitHub

What's next

  • More work on PR deploy bot
  • Re-deploy owners bot with new reviewers assignment algorithm
  • Generate externs for all typedefs found in 3p/ads/bind
All details on GitHub

Infrastructure

Status Update Mon Jun 24 2019

Release quality

  • Fixed saucelabs safari 12.1 bug
  • Run integration tests on IE 11

Developer experience

  • Refactor of gulp test into gulp unit|integration|a4a
  • WIP: Bot to deploy in-flight PR code for demo / testing (on-demand)
  • Refactored / sped up unminified builds by 15%
All details on GitHub

What's next

  • Redeploy owners bot with new reviewers assignment algorithm
  • Generate externs for all typedefs found in 3p/ads/bind
All details on GitHub

Infrastructure

Status Update Tue May 28 2019

Release quality

  • E2E tests are now a blocking check
    • Viewer / Shadow, Chrome / FF
  • Integration tests on minified runtime
  • Unit tests on Chrome / FF
  • GH status:
    • Code coverage (non-blocking)
    • Failing tests (blocking)

Developer experience

  • Prettier adoption complete!
  • Closure compiler at v20190513
  • Travis CI build / test optimizations
  • Local testing: gulp pr-check
All details on GitHub

What's next

  • Enforce code coverage for lines changed by PRs
  • Move owners code to ampproject repo, reuse common libs
All details on GitHub

Infrastructure

Status Update Mon May 13 2019

What was accomplished

Release quality

  • Progress on fixing failing E2E tests
  • IE-11 integration tests are back in blocking mode (tests must opt in)
All details on GitHub

Developer experience

  • Added babel transforms for version numbers and AMP.extension
  • Single pass now uses compiler.jar with zero custom passes
  • Refactored compilation code
  • WIP: PR checks for minified code

What's next

  • PR statuses for integration tests
  • Make e2e tests a blocking check
  • Investigate hermetic AMP tests
  • Prettier implementation
All details on GitHub

Infrastructure

Status Update Mon Apr 29 2019

What was accomplished

  • Closure compiler 2018 → 2019
  • gulp dist 4x faster
  • gulp dist --single_pass 1.5x faster
  • gulp nailgun-start for local dev
  • Visual tests are hermetic
    • Snapshots now show errors
  • Sauce infra issues sorted out
All details on GitHub

What's next

  • Update GH branch protection rules to amphtml/reviewers
  • E2E tests on Firefox
  • Iron out more CI issues
All details on GitHub

Infrastructure

Status Update Mon Apr 01 2019

What was accomplished

  • GH test status bot is now live
  • Created Windows dev VM to run integration tests locally
  • Several fixes of typedefs / casts
  • WIP: Closure compiler upgrade
All details on GitHub

What's next

  • Run E2E tests as part of CI
  • Review, test, and merge closure compiler upgrade
  • Upgrade owners bot to handle “reviewers” (vs. “owners”)
All details on GitHub

Infrastructure

Status Update Mon Mar 18 2019

What was accomplished

  • Manual test planning under way
  • Owners bot can now retrieve teams information
  • Progress on detecting bad cast locations that block single-pass
  • Progress on elevating test results to PR statuses
All details on GitHub

What's next

  • Submit PR for test statuses
  • Fix bad cast locations that affect single pass correctness
All details on GitHub