Build script optimization
Use new needs keyword in build script to reduce build time by running test/package jobs as soon as dependencies are ready instead of waiting for an entire build stage to complete.
See doc on needs keyword here: https://docs.gitlab.com/ee/ci/yaml/#needs